标题: PyInstaller-py2exe的替代打包方案

时间: 2013-11-09 11:43:55

正文:

之前在 windows 下把 python 程序打包成二进制可执行文件 .exe 一直是用 py2exe , 不过该包在 2008 年以后貌似就没有更新过了,支持的 python 版本也只到了 python 2.5 。而 PyInstaller 号称支持 python 2.4 以后的所有版本。其实还有另外一个方案 cx_Freeze ,状态健康,windows 下支持 2.7 到 3.4 的 python 版本。

        转载请注明出处 http://blog.hickwu.com/posts/305 by Hick

PyInstaller 显然比 py2exe 强大很多, 除了 python 版本的支持,还支持 Windows, Linux, Mac OS X, Solaris 和 AIX 系统下打包成独立可执行文件。另外对 PyQt, Django or matplotlib 等很多 python 库都是完美支持。

早前版本的 PyInstaller 使用起来比较麻烦,最新版本很方便了。下面是 windows 下 2.0 版本的 pyinstaller 的基本用法:

安装 PyInstaller 前,需要这样一些准备:安装Python(安装完需要添加安装路径到环境变量 PATH),安装Python Win32 Extensions,以及最好能有压缩工具UPX。

PyInstaller 官网下载后文件名为pyinstaller-2.0.zip,将这个文件解压缩到需要的文件夹就可以执行,不需要安装。官网也建议 pip 方式安装升级: pip install pyinstallerpip install --upgrade pyinstaller

PyInstaller 2.0和以前的版本有一些不同,使用者不需要预先运行Configure.py或者生成spec文件。

以一个简单的 python 脚本为例:

###main.py
print 'I am Hick - Hello World!'

下面将 main.py 转换为一个 exe 文件,命令行切换到 Pyintstller2 安装目录执行:

python pyinstaller.py -F D:\main.py

在 Pyintstller2 安装目录的 main\dist 就能找到打包好的可执行 .exe 文件了。

以我自己的 wxpython 小工具为例,这样即可:

f:/hickpad>python f:\Python\PyInstaller-2.1\pyinstaller.py --noconfirm \
--noconsole --onefile --icon=hickpad.ico hickpad.py

当然,并不是所有 python 包都被支持得很好,官方有一个支持情况列表,最好提前看看,评估下使用的报是否被支持: http://www.pyinstaller.org/wiki/SupportedPackages

参考资料:

查看更多文章
分享到:


分享到: