我正在使用cx_Freeze将Python程序编译成可执行文件,它工作正常,但问题是它没有将程序编译成一个EXE,它将它们转换为.exe
文件和整个包含.dll
的{{1}}个文件,这些文件是程序运行所必需的。
有谁知道如何将所有这些文件打包成一个python32.dll
文件?我宁愿它是一个普通的EXE文件,而不仅仅是一个将DLL复制到临时目录中以启动程序的文件。
编辑:这是参考Python 3
答案 0 :(得分:1)
您至少有两个选项: 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,
)
此方法不需要将文件解压缩到临时位置。
答案 1 :(得分:1)
在将python脚本编译到一个文件中时,Pyinstaller通常是更容易的选择。
pyinstaller.py program.py --onefile
请参阅此处的文档:http://www.pyinstaller.org/export/v2.0/project/doc/Manual.html?format=raw
答案 2 :(得分:0)