使用cx_Freeze - 如何在.exe中包含所有必要文件?
我想制作一个独立的.exe文件。
我已经成功使用cx_Freeze在我的电脑上构建了一个可以运行的文件,但当我把它发给别人时,它出现了需要.dll文件的错误。我看了一些类似的问题,这让我在构建选项中加入了其他包。
我怀疑一旦我解决了这个特定的问题,我可能还需要在.exe中包含其他东西……任何帮助我避免这个问题的建议都非常感谢!最终用户只需要使用这个.exe文件,而不需要安装其他文件。
这是我目前的setup.py文件:
import sys
from cx_Freeze import setup, Executable
base = None
if sys.platform == 'win32':
base = 'Win32GUI'
build_options = {"includes" : [ "re", "atexit"], "packages": ["PyQt4.QtCore", "PyQt4.QtGui"]}
setup( name = "Hex Script Combination",
version = "0.1",
description = "Contact (info) with questions",
options = {"build_exe" : build_options},
executables = [Executable("Project.py", base=base)])
补充说明: 我尝试了IExpress,但遇到了这个错误:

(图片已上传,但不知为何,这篇帖子中的两张图片都没有显示)
File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in <module>
code = importer.get_code(moduleName)
ZipImportError: can't find module 'projec~1__main__'
1 个回答
0
我没有找到完全符合我需求的方法。不过,我发现我得到了一个我之前不知道的安装程序,它会把我exe目录里的所有东西都安装上。
文件路径是~\dist,里面只有一个.msi文件。运行这个文件就会把~\build\exe.win32-2.7目录里的所有东西都安装上。