Python Cx#U Freeze无法找到pkg_资源/*.';
我正在尝试使用以下命令使用cx\u Freeze setup.py文件构建EXE:Python Cx#U Freeze无法找到pkg_资源/*.';,python,setuptools,cx-freeze,Python,Setuptools,Cx Freeze,我正在尝试使用以下命令使用cx\u Freeze setup.py文件构建EXE: python setup.py bdist_msi 命令的输出以以下内容结束: 正在从包pkg_资源复制数据。。。错误:[错误3]系统错误 找不到指定的路径:“C:\Program” Files\Anaconda2\lib\site packages\setuptools-27.2.0-py2.7.egg\pkg\u resources/*.' 我不知道该怎么办。我已经检查过了,setuptools的egg已经
python setup.py bdist_msi
命令的输出以以下内容结束:
正在从包pkg_资源复制数据。。。错误:[错误3]系统错误
找不到指定的路径:“C:\Program”
Files\Anaconda2\lib\site packages\setuptools-27.2.0-py2.7.egg\pkg\u resources/*.'
我不知道该怎么办。我已经检查过了,setuptools的egg已经存在,里面有一个pgk_资源库,我不知道该怎么办
我正在使用conda安装和python2.7
任何帮助都将不胜感激。我通过
pip install --upgrade setuptools
pip install --upgrade distribute
我从Ali Akdurak的回答中学到了这一点,这是因为
cx\u Freeze
无法处理以打包方式安装的包的子包.egg
s。正常的Python安装使用pip
,与Anaconda不同,pip总是解压.egg
s
相应的问题:。它链接到具有修复程序的:
diff--git a/cx\u Freeze/finder.py b/cx\u Freeze/finder.py
---a/cx\u冻结/finder.py
+++b/cx\u冻结/finder.py
@@ -61,6 +61,15 @@
如果找到模块,则返回相同格式的信息
as:func:`imp.find_module`。否则,它将返回None。
"""
+修复:检索可加载模块dict使用带有操作系统分隔符的路径
+#作为键。但是作为参数接收的路径可能存在混合
+#斜杠。这可能会导致某些搜索在应该时失败
+#工作。有一种情况似乎很关键,那就是
+#鸡蛋包装内的子包装。
+ #
+#请参阅“record_loadable_module”方法以了解如何混合斜杠
+发生。
+path=os.path.normpath(路径)
尝试:
返回self.retrieve可加载的模块(路径,modulename)
除KeyError外:
将所有
.egg
替换为带有pip安装的未打包版本——按照另一个答案中的建议升级
只是一个临时解决方案-直到你得到另一个.egg
嘿@Yiftach问题仍然存在吗?我面临着同样的问题。错误:[错误3]系统找不到指定的路径:“C:\\Anaconda2\\lib\\site packages\\setuptools-27.2.0-py2.7.egg\\pkg\u resources/*.*”但是,在我的情况下,您编写的站点packeges\\setuptools-27*中没有文件夹一个普通的Python安装使用pip,它总是解压.egg“我使用Python3.6,它不解压egg。它安装了setuptools作为压缩egg。在将egg重命名为.zip并将两个目录(setuptools和pkg_资源)移动到站点包目录后,它就可以工作了。@guettli看到了吗