我使用cx_Freeze将Python程序编译为可执行文件,它工作得很好,但问题在于它不会将程序编译到一个EXE中,它会转换他们到一个.exe
文件和一大堆.dll
文件,包括python32.dll
这是程序运行所必需的。将EXE及其依赖关系转换为一个独立的EXE
有谁知道如何将所有这些文件打包到一个.exe
文件中?我宁愿它是一个简单的EXE文件,而不只是一个将DLL复制到临时目录中以启动程序的文件。
编辑:这是引用到Python 3
我使用cx_Freeze将Python程序编译为可执行文件,它工作得很好,但问题在于它不会将程序编译到一个EXE中,它会转换他们到一个.exe
文件和一大堆.dll
文件,包括python32.dll
这是程序运行所必需的。将EXE及其依赖关系转换为一个独立的EXE
有谁知道如何将所有这些文件打包到一个.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,
)
这种方法不需要解压文件到一个临时位置。
不幸的是,py2exe只适用于python 2.x,而不是python 3.x.但是,感谢信息。我已经更新了这个问题,以显示我需要Python 3的答案。 –
Pyinstaller通常是将python脚本编译为一个文件时更容易的选项。
pyinstaller.py program.py --onefile
在这里看到的文档:http://www.pyinstaller.org/export/v2.0/project/doc/Manual.html?format=raw
我检查了它,我不相信这是为Python 3更新。好消息,但。 –
你试过innosetup?它可以从cxfreeze的输出创建安装程序文件。可能有一个选项将所有内容捆绑到一个文件中。
cx_Freeze还不支持。你可以做一个安装程序,但不是一个独立的'只运行这个'exe –