如何将Python脚本打包为无需依赖的独立可执行文件?
我正在开发一个Python应用程序,但不想让我的客户去安装Python和相关的模块。
那么,有没有办法把Python脚本编译成一个独立的可执行文件呢?
19 个回答
121
你可以看看 Nuitka。它的工作原理是把Python的源代码转换成C++的API调用。然后再把这些调用编译成可以直接运行的程序(在Linux上是ELF格式)。这个工具已经存在好几年了,支持很多不同版本的Python。
如果你使用它,可能还会提高程序的运行速度。推荐试试。
579
你可以使用 PyInstaller 来把 Python 程序打包成独立的可执行文件。它可以在 Windows、Linux 和 Mac 上运行。
PyInstaller 快速入门
从 PyPI 安装 PyInstaller:
pip install pyinstaller
进入你程序所在的文件夹,然后运行:
pyinstaller yourprogram.py
这会在一个叫
dist
的子文件夹中生成打包好的文件。pyinstaller -F yourprogram.py
如果你加上 -F(或者 --onefile)这个参数,所有内容会打包成一个单独的 "exe" 文件。
pyinstaller -F --paths=<your_path>\Lib\site-packages yourprogram.py
如果遇到 "ImportError" 错误,你可能需要考虑一下依赖包的问题。
pip install pynput==1.6.8
如果还是出现 ImportError 错误,可以尝试降级 PyInstaller,具体可以参考 使用 pynput 和 pyinstaller 时遇到错误。
想要更详细的操作步骤,可以查看 手册。