我正在构建一个Python应用程序,不想强迫我的客户端安装Python和模块。
那么,是否有一种方法可以将Python脚本编译为独立的可执行文件?
我正在构建一个Python应用程序,不想强迫我的客户端安装Python和模块。
那么,是否有一种方法可以将Python脚本编译为独立的可执行文件?
当前回答
使用py2exe……使用下面的设置文件:
from distutils.core import setup
import py2exe
from distutils.filelist import findall
import matplotlib
setup(
console = ['PlotMemInfo.py'],
options = {
'py2exe': {
'packages': ['matplotlib'],
'dll_excludes': ['libgdk-win32-2.0-0.dll',
'libgobject-2.0-0.dll',
'libgdk_pixbuf-2.0-0.dll']
}
},
data_files = matplotlib.get_py2exe_datafiles()
)
其他回答
是的,可以将Python脚本编译成独立的可执行文件。
PyInstaller可用于将Python程序转换为独立的可执行文件,适用于Windows、Linux、Mac OS X、FreeBSD、Solaris和AIX。它是推荐的转换器之一。
py2exe将Python脚本转换为Windows平台上的可执行文件。
Cython是Python编程语言和扩展的Cython编程语言的静态编译器。
使用Cython转换为C、编译并链接GCC。
另一种方法是,用C语言编写核心函数(那些你想要使其难以反转的函数),编译它们并使用Boost。Python导入编译后的代码(而且代码执行速度更快)。然后使用上面提到的任何工具进行分发。
我被告知PyRun也是一个选项。它目前支持Linux, FreeBSD和Mac OS X。
您可以在“分布实用程序”中找到列出的分布实用程序列表。
我使用bbfreeze,它一直工作得很好(虽然还没有Python 3支持)。
您可以使用py2exe,并使用Cython将密钥的.py文件转换为.pyc, C编译文件,如Windows中的.dll和Linux中的.so。
它比普通的.pyo和.pyc文件更难恢复(而且性能也有所提高!)。