使用cx_Freeze - 如何在.exe中包含所有必需的文件?

时间:2014-06-13 17:00:42

标签: python python-2.7 cx-freeze

我想创建一个自包含的.exe文件。

我已经设法使用cx_Freeze来构建一个可以在我的机器上运行的程序,但是当我将它发送给某人时,它会抛出一个关于需要.dll的错误。我读了一些类似的问题,这就是我最终在构建选项中包含包的方法。

我怀疑,一旦我克服了这个特殊的问题,我最终需要在.exe中包含其他内容....任何帮助绕过这个陷阱都值得赞赏!最终用户只需要能够使用.exe而不必安装其他文件。

The included files in the exe directory

这是我当前的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)])

ETA: 我试过IExpress,我遇到了这个错误: ARGH

(图片已上传,但出于某种原因,此帖中的图片均未显示)

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 :(得分:0)

我没有找到办法完全按照自己的意愿行事。但是,我确实发现我收到了一个我不知道发布的安装程序,它安装了我exe文件目录中的所有内容。

文件路径是〜\ dist,它只包含一个.msi文件。启动它安装〜\ build \ exe.win32-2.7

中的所有内容