python程序打包

时间:2022-07-28 00:27:42

环境: 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. 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

欢迎补充