[英]py2exe File “numpy\core\multiarray.pyc”, line 10, in __load ImportError: DLL load failed:
系统:
Windows 7 64位
Anaconda 2.7 64位
py2exe 64位
背景:
我使用如下所示的py2exe和setup.py文件将python代码转换为.exe:
from distutils.core import setup
import py2exe
from distutils.filelist import findall
import matplotlib
opts = {"py2exe": {
"packages" : ['matplotlib'],
"includes": ['scipy', 'scipy.integrate', 'scipy.special.*','scipy.linalg.*'],
'dll_excludes': ['libgdk-win32-2.0-0.dll',
'libgobject-2.0-0.dll',
'libgdk_pixbuf-2.0-0.dll']
}
}
setup(
windows = [{'script': "with_GUI.py"}], zipfile = None,
options= opts,
data_files = matplotlib.get_py2exe_datafiles()
)
但这给了我一个错误,说两个文件存在版本冲突。 所以我改变了两个文件。 dist / tcl / tcl8.5 / init.tcl(第19行)和dist / tcl / tk8.5 / tk.tcl(第18行)。 就我而言,我将版本从8.5.15更改为8.5.18。 通过查看错误日志中错误所指定的路径,我找到了两个文件的位置。 然后,.exe正常工作。
问题:
我压缩了包含.exe文件的dist文件夹。 然后,我在另一台计算机上解压缩了它,但是在那儿无法正常工作。 以下是显示的错误:
Traceback (most recent call last):
File "Moment_Final.py", line 5, in <module>
File "matplotlib\__init__.pyc", line 122, in <module>
File "matplotlib\cbook.pyc", line 33, in <module>
File "numpy\__init__.pyc", line 180, in <module>
File "numpy\add_newdocs.pyc", line 13, in <module>
File "numpy\lib\__init__.pyc", line 8, in <module>
File "numpy\lib\type_check.pyc", line 11, in <module>
File "numpy\core\__init__.pyc", line 14, in <module>
File "numpy\core\multiarray.pyc", line 12, in <module>
File "numpy\core\multiarray.pyc", line 10, in __load
ImportError: DLL load failed: The specified module could not be found.
更新:如果我在系统上安装了Anaconda Python 2.7,则没有错误。 但是,py2exe的用途是什么。
我遇到了同样的问题。 在以下链接中找到了解决方案:
http://comments.gmane.org/gmane.comp.python.py2exe/4847
简而言之,py2exe的“ dist”输出中缺少来自“ C:\\ Anaconda2 \\ Library \\ bin”的两个dll。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.