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

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


当前回答

pyinstaller yourfile.py -F --onefile

这将在Windows上创建一个独立的EXE文件。

重要提示1:EXE文件将生成在名为“dist”的文件夹中。

重要提示2:不要忘记—onefile标志

您可以使用pip install PyInstaller安装PyInstaller

注意:在极少数情况下,存在隐藏的依赖关系…所以如果你运行EXE文件并得到丢失库错误(下面的例子中是win32timezone),然后使用这样的方法:

pyinstaller --hiddenimport win32timezone -F "Backup Program.py"

其他回答

pyinstaller yourfile.py -F --onefile

这将在Windows上创建一个独立的EXE文件。

重要提示1:EXE文件将生成在名为“dist”的文件夹中。

重要提示2:不要忘记—onefile标志

您可以使用pip install PyInstaller安装PyInstaller

注意:在极少数情况下,存在隐藏的依赖关系…所以如果你运行EXE文件并得到丢失库错误(下面的例子中是win32timezone),然后使用这样的方法:

pyinstaller --hiddenimport win32timezone -F "Backup Program.py"

使用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()
)

你可能喜欢py2exe。您还可以在其中找到在Linux上执行此操作的信息。

您可以在“分布实用程序”中找到列出的分布实用程序列表。

我使用bbfreeze,它一直工作得很好(虽然还没有Python 3支持)。

你可能想调查一下努伊特卡。它接受Python源代码并将其转换为c++ API调用。然后将其编译成可执行二进制文件(Linux上的ELF)。它已经存在了几年,并且支持广泛的Python版本。

如果使用它,您还可能获得性能改进。推荐使用。