我正在使用 cx_Freeze 将 Python 程序编译成可执行文件,它工作得很好,但问题是它不会将程序编译成一个 EXE,而是将它们转换成 .exe
文件和一大堆 .dll
文件,包括程序运行所必需的 python32.dll
。
有谁知道如何将所有这些文件打包到一个 .exe
文件中?我宁愿它是一个普通的 EXE 文件,而不仅仅是一个将 DLL 复制到临时目录以启动程序的文件。
编辑:这是对 Python 3 的引用
最佳答案
您至少有两个选择:PyInstaller 或 py2exe。
对于 py2exe,有一个名为 bundle_files 的选项,你可以设置:
- 3(默认):不捆绑。
- 2:捆绑除 Python 解释器以外的所有内容。
- 1:捆绑一切,包括 Python 解释器。
这是一个示例 setup.py:
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 1}},
windows = [{'script': "single.py"}],
zipfile = None,
)
此方法不需要将文件提取到临时位置。
关于python - 将 EXE 及其依赖项转换为一个独立的 EXE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389724/