我正在构建一个Python应用程序,不想强迫我的客户端安装Python和模块。

那么,是否有一种方法可以将Python脚本编译为独立的可执行文件?


当前回答

我喜欢PyInstaller——尤其是“windowed”版本:

pyinstaller --onefile --windowed myscript.py

它将在distination/文件夹中创建一个*.exe文件。

其他回答

不完全是Python代码的打包,但现在也有来自谷歌的Grumpy,它将代码编译到Go。

它不支持Python C API,因此可能不适用于所有项目。

对于Python 3.2脚本,唯一的选择是cx_Freeze。从资源中构建;否则行不通。

对于Python 2。我建议使用PyInstaller,因为它可以将Python程序打包到一个可执行文件中,而不像cx_Freeze那样输出库。

我被告知PyRun也是一个选项。它目前支持Linux, FreeBSD和Mac OS X。

使用Cython转换为C、编译并链接GCC。

另一种方法是,用C语言编写核心函数(那些你想要使其难以反转的函数),编译它们并使用Boost。Python导入编译后的代码(而且代码执行速度更快)。然后使用上面提到的任何工具进行分发。

我也推荐使用PyInstaller以获得更好的向后兼容性,例如Python 2.3 - 2.7。

对于py2exe,你必须有Python 2.6。