我遇到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文件,从标准示例中复制,只包含一个资产文件夹(这一个被正确复制..没有问题)
谢谢!
答案 0 :(得分:3)
升级到cx_Freeze 5.x后,我遇到了同样的问题(如果确实存在问题)。我相信在更新日志中提到了它:https://cx-freeze.readthedocs.io/en/latest/releasenotes.html
- 添加了对在文件系统中而不是在文件系统中存储包的支持 zip文件。有许多软件包假设它们是 在文件系统中找到并且如果在zip文件中找到而生成 奇怪的错误。 现在默认将包存储在文件中 系统,但有一个方法可以将包放在zip文件中 他们被认为在放置时表现得很好。 (问题#73)
醇>
(强调我的)
该“方法”显然在https://cx-freeze.readthedocs.io/en/latest/distutils.html#build-exe中有所描述,特别是zip_include_packages
和zip_exclude_packages
选项。
我最后将以下内容作为关键字参数添加到我的setup()调用中,这为我解决了这个问题:
options = {"build_exe": {"include_msvcr": True, "include_files": dataFiles, "packages": ["lxml", "idna"], "zip_include_packages": "*", "zip_exclude_packages": ""}},