Python程序打包
Python 程序写完之后,如果希望在没有 Python 环境的电脑上运行,就需要把程序打包成可执行文件。常见选择有 PyInstaller 和 Nuitka。
PyInstaller
PyInstaller 上手最简单,适合课程作业、小工具和临时分发。
安装:
1 | pip install pyinstaller |
打包单文件:
1 | pyinstaller -F main.py |
常用参数:
1 | pyinstaller -F -w main.py |
-F:打包成单个可执行文件。-w:窗口程序不显示命令行窗口,适合 GUI 程序。
打包完成后,可执行文件一般在 dist 目录中。
如果程序依赖图片、音频、配置文件等资源,需要额外处理资源路径。否则在开发环境能运行,打包后可能会找不到文件。
Nuitka
Nuitka 会把 Python 代码转换并编译,打包速度通常比 PyInstaller 慢一些,但在性能和代码保护方面会更好。
安装:
1 | pip install nuitka |
基础打包:
1 | python -m nuitka --standalone main.py |
如果希望生成单文件:
1 | python -m nuitka --standalone --onefile main.py |
如何选择
如果只是把课堂项目或普通脚本发给别人使用,优先选 PyInstaller,命令少,问题也更容易搜索。
如果项目较大,或者希望程序运行效率更好,可以尝试 Nuitka。Nuitka 对编译环境要求更高,第一次配置时可能会遇到 C 编译器相关问题。
常见问题
打包后闪退
先在终端里运行生成的程序,查看报错信息,不要直接双击。找不到资源文件
图片、音乐、配置文件需要一起打包,并在代码里处理打包后的路径。杀毒软件误报
单文件可执行程序比较容易被误报,尤其是 PyInstaller 打包结果。可以尝试关闭单文件模式,或给用户说明来源。
评论
评论插件加载失败
正在加载评论插件