详解 pyinstaller 打包python文件

2534阅读 0评论2010-07-20 月吻清风
分类:Python/Ruby

运行的系统是Centos64位: 下载地址 
本例中我们下载最新的Pyinstall 1.4

首先解压 pyinstaller-1.4.tar.bz2 文件

#tar jxvf pyinstaller-1.4.tar.bz2


继续pythonistall的安装

#cd pyinstaller-1.4
#cd source/linux
#python 
./Make.py

#make


安装完成 运行示例:将hello.py文件复制到pyinstall-1.4目录中,且我们回到pythinstall-1.4目录下:

#python Configure.py
#python Makespec
.py -F hello.py
#python Build
.py hello/hello.spec 


如果提示如下错误:

File "Build.py", line 1160, in <module>
main
(args[0], configfilename=opts.configfile)
File "Build.py", line 1148, in main
build
(specfile)
File "Build.py", line 1111, in build
execfile
(spec)
File "/home/work/_files/pyinstaller-1.4/helloworld/helloworld.spec", line 3, in <module>
pathex
=['/home/work/_files/pyinstaller-1.4'])
File "Build.py", line 245, in __init__
self
.__postinit__()
File "Build.py", line 196, in __postinit__
self
.assemble()
File "Build.py", line 348, in assemble
self
.fixMissingPythonLib(binaries)
File "Build.py", line 396, in fixMissingPythonLib
raise IOError
("Python library not found!")
IOError
: Python library not


检验自己的机器上是否有libpython2.5.so动态链接库,因为pyinstaller是根据它工作的,解决办法:重新安装python,在python安装配置中,一定要加上--enable-shared参数就可以生成libpython2.5.so动态连接库,如:

#./configure --enable-shared --prefix=/usr/local

#make 

#makeinstall(可以在执行下面命令后再编译)


这里要注意的是 由于系统是64位 安装完后运行python 会提示找不到libpython2.5.so.1.0 这个解决办法如下:
在编译目录下 

#cp libpython2.5.so.1.0 /usr/lib/
#ln
-s /usr/lib/libpython2.5.so.1.0 /usr/lib64/


注:若还不能解决 请

#cp libpython2.5.so.1.0 /usr/local/lib/

#ln -s /usr/local/lib/libpython2.5.so.1.0 /usr/local/lib64/

#vim /etc/ld.so.conf.d/python.conf 

输入 /usr/local/lib 保存后运行

#ldconfig





上一篇:简单利用python批量修改主机名
下一篇:Linux 性能调优的几种方法