python程序打包
环境: CentOS6.5_x64
Python版本 : 2.6
使用pyinstaller打包
pyinstaller可以将python程序打包成二进制文件,打包后的文件在没有python的环境中也可以执行(但要有相关底层libc相关so文件)。pyinstaller支持将python程序打包成单个文件,它所做的只是将文本转换成二进制,并不能给python提速,相反还会影响打包后程序的运行速度。
安装pyinstaller
官方网址:http://www.pyinstaller.org/
通过pip安装 :
pip install pyinstaller
通过源码安装 :
python setup.py install
打包程序
加上 -F 参数可以将程序打包成单独的文件:
pyinstaller -F test1.py
注意事项
1、打包ibm_db时,ibm_db.connect的连接字符串中需要加入如下内容:
AUTHENTICATION=SERVER
否则会报如下错误:
Exception: [IBM][CLI Driver] SQL10007N Message "0" could not be retrieved. Reason code: "3". SQLCODE=-1042
2、打包sklearn时pyinstaller命令需要加入如下参数:
--hidden-import sklearn.neighbors.typedefs
示例代码:
pyinstaller --hidden-import sklearn.neighbors.typedefs test1.py
使用virtualenv打包
virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。使用virtualenv管理python应用可以避免因库冲突等引起的问题。同样,virtualenv也不能给python提速,它所做的也只是环境隔离,部署比较方便而已。
示例如下:
1、安装virtualenv
pip install virtualenv
2、创建虚拟环境
virtualenv -p /usr/bin/python2.6 py26env --no-site-packages
3、启动虚拟环境
source py26env/bin/activate
4、安装必要的python库
pip install …
5、编写代码后正常启动程序程序即可。
好,就这些了,希望对你有帮助。
本文github地址:
https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017/20170321_python程序打包.md
欢迎补充