我正在使用 cx_Freeze 将 Python 程序编译成可执行文件,它工作得很好,但问题是它不会将程序编译成一个 EXE,而是将它们转换成一个.exe
文件和一大堆.dll
文件,包括python32.dll
那些对于要运行的程序。
有谁知道我如何将所有这些文件打包成一个.exe
文件?我宁愿它是一个普通的 EXE 文件,而不仅仅是一个将 DLL 复制到临时目录以启动程序的文件。
编辑:这是参考 Python 3
我正在使用 cx_Freeze 将 Python 程序编译成可执行文件,它工作得很好,但问题是它不会将程序编译成一个 EXE,而是将它们转换成一个.exe
文件和一大堆.dll
文件,包括python32.dll
那些对于要运行的程序。
有谁知道我如何将所有这些文件打包成一个.exe
文件?我宁愿它是一个普通的 EXE 文件,而不仅仅是一个将 DLL 复制到临时目录以启动程序的文件。
编辑:这是参考 Python 3
您至少有两个选择:PyInstaller或py2exe。
使用 py2exe,有一个名为bundle_files的选项,您可以设置:
这是一个示例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 脚本编译到一个文件中时,Pyinstaller 通常是更简单的选择。
pyinstaller.py program.py --onefile
请参阅此处的文档:http: //www.pyinstaller.org/export/v2.0/project/doc/Manual.html?format=raw
你试过innosetup吗?它可以从 cxfreeze 的输出创建安装程序文件。可能有一个选项可以将所有内容捆绑到一个文件中。