Python源码可以通过PyInstaller、cx_Freeze等工具打包成exe文件,核心步骤包括安装工具、配置参数、生成可执行文件。跨平台兼容、一键打包、依赖自动集成、体积优化。
-
工具选择与安装
- PyInstaller:支持Windows/Linux/macOS,通过
pip install pyinstaller
安装,命令行输入pyinstaller -F script.py
即可生成单文件exe。 - cx_Freeze:适合复杂项目,需编写
setup.py
配置依赖,执行python setup.py build
生成exe。 - Nuitka:将Python代码编译为C,再生成exe,性能更高但耗时较长。
- PyInstaller:支持Windows/Linux/macOS,通过
-
参数配置与优化
- 单文件模式:PyInstaller添加
-F
参数合并所有依赖为一个exe,方便分发但启动稍慢。 - 隐藏控制台:GUI程序加
-w
参数(如pyinstaller -w -F app.py
)。 - 图标与版本信息:通过
--icon=app.ico
和--version-file=version.txt
自定义。 - 减小体积:用
--exclude-module
剔除无用库,或使用UPX压缩(需提前安装)。
- 单文件模式:PyInstaller添加
-
处理常见问题
- 依赖缺失:手动将缺失的dll或数据文件放入
--add-data
指定路径。 - 杀毒误报:代码签名或提交至杀毒软件白名单。
- 路径问题:打包后使用
sys._MEIPASS
访问临时资源路径。
- 依赖缺失:手动将缺失的dll或数据文件放入
-
测试与分发
- 在纯净虚拟机测试兼容性,确保无遗漏依赖。
- 使用Inno Setup或NSIS制作安装包,简化用户安装流程。
Python打包exe只需3步——选工具、配参数、生成文件。推荐PyInstaller快速入门,复杂项目用cx_Freeze分层处理,注意测试不同系统环境。