Cx_Freeze构建不包含zip文件中的python库

时间:2017-02-09 17:50:10

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

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

在重新安装我的Windows10安装之前,我从来没有遇到过这个过程的任何问题......它工作得很好,现在我无法弄明白为什么会发生这种情况......

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

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

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

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

谢谢!

cx_Freeze build output

1 个答案:

答案 0 :(得分:3)

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

  
      
  1. 添加了对在文件系统中而不是在文件系统中存储包的支持   zip文件。有许多软件包假设它们是   在文件系统中找到并且如果在zip文件中找到而生成   奇怪的错误。 现在默认将包存储在文件中   系统,但有一个方法可以将包放在zip文件中   他们被认为在放置时表现得很好。 (问题#73)
  2.   

(强调我的) 该“方法”显然在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": ""}},
相关问题