【问题标题】:Cx_Freeze build is not including python libraries in zip fileCx_Freeze 构建不包括 zip 文件中的 python 库
【发布时间】:2017-06-27 20:50:10
【问题描述】:

我遇到了 cx_Freeze 5.0 的问题 我正在尝试: Windows 10 LTSB x64 Python 3.4.4 x86 PyQt5 PyWin32 x86

在我重新安装我的 Windows10 安装之前,我从未遇到过这个过程的任何问题......它运行良好,现在我无法弄清楚它为什么会发生......

当我冻结我的 python 应用程序 (python setup.py build) 时,脚本正在将整个 python 库复制到 python34.zip 之外。 我在 python34.zip 中得到的唯一东西是 *.pyc 文件(只有这个.. 但很多)

我不知道为什么它现在不包含 python 库并且没有找到任何选项/配置,它必须自动包含这个......

如果有人可以帮助解决这个问题.. :)

注意:我的 setup.py 没有任何变化,简单的 setup.py 文件,从标准示例复制,仅包括一个资产文件夹(这个是正确复制的..没有问题)

谢谢!

cx_Freeze build output

【问题讨论】:

  • Cxfreeze 5 是相当新的,并且发生了很多变化。重装前你用过v5吗

标签: python build compilation cx-freeze setup.py


【解决方案1】:

升级到 cx_Freeze 5.x 后,我遇到了同样的问题(如果确实是问题)。我相信这里的更新日志中提到了它:https://cx-freeze.readthedocs.io/en/latest/releasenotes.html

  1. 增加了对在文件系统中而不是在文件系统中存储包的支持 压缩文件。有许多软件包假定它们是 在文件系统中找到,如果在 zip 文件中找到,则生成 奇怪的错误。 现在默认是在文件中存储包 系统,但有一种方法可以将包放入 zip 文件中,如果 众所周知,它们放置在那里时会表现得很好。 (问题 #73)

(强调我的) 该“方法”显然在https://cx-freeze.readthedocs.io/en/latest/distutils.html#build-exe 中进行了描述,特别是zip_include_packageszip_exclude_packages 选项。

我最终将以下内容作为关键字参数放入我的 setup() 调用中,这为我解决了这个问题:

options = {"build_exe": {"include_msvcr": True, "include_files": dataFiles, "packages": ["lxml", "idna"], "zip_include_packages": "*", "zip_exclude_packages": ""}},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多