python项目打包成exe文件,踩了几个坑,记录下打包的过程,以防忘记,此文档将介绍打包64位exe以及32位exe两种打包方式。
一般情况下,我们使用的python 为64位,那么使用64位的python 进行打包,将产生64位的exe文件
打包exe文件我们需要用到模块pyinstaller
使用pip进行下载,命令如下:
pip install pyinstaller
然后使用pyinstaller 对python项目进行打包,若只有单个py文件,命令如下
pyinstaller -F XXX.py
若有多个py文件
pyinstaller -F XXX.py -p xxxx.py -p xxxx.py
-F | 产生单个的可执行文件 |
-D | 产生一个目录(包含多个文件)作为可执行程序 |
-a | 不包含 Unicode 字符集支持 |
-d | 产生 debug 版本的可执行文件 |
-w | 指定程序运行时不显示命令行窗口(仅对 Windows 有效) |
-c | 指定使用命令行窗口运行程序(仅对 Windows 有效) |
-o | 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 |
-p | 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 |
-n | 指定项目(产生的 spec)名字。如果省略,那么j将第一个脚本的主文件名将作为spec 的名字 |
我用win10系统已经64位的python打包了exe,放在了win7的系统上运行,结果报出windows系统不兼容的错误。因此百度了一下如何打包成32位的exe文件,如果是这个错误,打包成32位的exe文件就没有问题了。
下载pyinstaller以及pywin32 ,以及项目需要的其他模块,命令如下:
python32 -m pip pyinstaller
python32 -m pip pywin32
将需要导报的项目文件放在scripts,及pyinstaller所在的文件夹下,运行打包命令即可。
pyinstaller -F XXX.py