py2exe 错误:密钥错误:'matplotlib.externals.six.moves'由 skimage 引起



我遇到了skimage(或scikit图像)和py2exe的问题。

我使用的是WinPython-64bit-3.4.4.1和Windows 10。

这是我的代码:(我把它做得尽可能简单)

测试.py

from skimage import data, filters
print("hello")

我在CMD:中输入这一行

py -m py2exe.build_exe test.py

(我试着做了一个setup.py,但它什么都没改变)

错误为:

Traceback (most recent call last):
  File "C:WinPython-64bit-3.4.4.1python-3.4.4.amd64librunpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
  File "C:WinPython-64bit-3.4.4.1python-3.4.4.amd64librunpy.py", line 85, in _run_code
exec(code, run_globals)

130多条类似的线路。。。

  File "C:WinPython-64bit-3.4.4.1python-3.4.4.amd64libsite-packagespy2exemf3.py", line 281, in _find_and_load
self._gcd_import(parent)
  File "C:WinPython-64bit-3.4.4.1python-3.4.4.amd64libsite-packagespy2exemf3.py", line 267, in _gcd_import
return self._find_and_load(name)
  File "C:WinPython-64bit-3.4.4.1python-3.4.4.amd64libsite-packagespy2exemf3.py", line 286, in _find_and_load
  parent_module = self.modules[parent]
KeyError: 'matplotlib.externals.six.moves'

在此错误之前,我得到了一个值错误:win32com.gen_py.loader为None,但我在某个地方读到,我只需要添加此目录:[python directory]\Lib\site packages\win32com\gen_py但自从我添加了这个目录后,这个错误就消失了。

然而,我不知道如何解决我目前的错误。。。我发现有人也有类似的问题,但他的解决方案是在虚拟机中执行py2exe。。。

你能帮我吗?

不确定它会改变什么,但你可以尝试:

  • 启动"WinPython命令提示符.exe"

  • 键入"python-m py2exe.build_exe-test.py"

最新更新