py2exe文件"numpy\core\multiarray.pyc",第10行,__ load ImportError:DLL加载失败:

Gir*_*rma 8 64-bit numpy py2exe matplotlib python-2.7

系统:

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()
     )
Run Code Online (Sandbox Code Playgroud)

但这给了我一些错误,说有两个文件存在版本冲突.所以我改变了两个文件即.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.
Run Code Online (Sandbox Code Playgroud)

更新: 如果我在系统上安装Anaconda Python 2.7,则没有错误.但是,py2exe的用途是什么.

Gui*_*ume 5

我遇到了同样的问题.解决方案已在以下链接中找到:

http://comments.gmane.org/gmane.comp.python.py2exe/4847

简而言之,py2exe的"dist"输出中缺少两个来自"C:\ Anaconda2\Library\bin"的dll.

  • 对于我的情况,它是libiomp5md.dll和mkl _*.dll (3认同)