导入错误:DLL加载失败:指定的模块无法找到numpy

3

我使用的是64位Python 3.3.2版本。当我运行脚本并执行import numpy时,会出现以下错误:ImportError: DLL load failed: The specified module could not be found.。错误回溯如下:

Traceback (most recent call last):
File "C:\Users\ZKZJFIO\workspace\FX_FORWARD_FLAG_DETERMINATION\Main.py", line 1, in <module>
import numpy 
File "C:\Python33\numpy\__init__.py", line 180, in <module>
    from . import add_newdocs
  File "C:\Python33\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Python33\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Python33\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python33\numpy\core\__init__.py", line 14, in <module>
    from . import multiarray

我看了这个链接,发现它涉及到一个类似的问题,并且我实际上确实有multiarray.pyd,所以我对如何解决这个问题有点困惑,因为大多数关于这个错误的问题似乎都是针对那个模块的特定问题。
在运行dependency walker(依赖项检查工具)检查multiarray.pyd后,发现MSVCR90.DLL和PYTHON27.DLL缺失。是否值得只下载Python27来解决这个问题呢?因为有人告诉我直接下载dll文件可能不是最好的做法?
谢谢。
3个回答

1

我在通过Anaconda Prompt进行Miniconda的新安装并随后通过conda install numpy安装numpy之后,也遇到了这个问题。

对我有用的是通过

conda uninstall numpy

然后改用pip进行安装:

pip install numpy

注意: 不建议但也不反对将pip安装的包安装到conda环境中。

更多详情请参见:安装非conda包


1

我最近在使用pynsist/nsis将一个pyqt桌面应用程序分发给一组用户时,遇到了相同的错误。我想我会留下一条评论,帮助其他人。

在这种情况下,这个错误可以追溯到用户计算机上有几个版本的libiomp5md.dll。其中一个文件位于Intel Fortran编译器目录中,该目录被引用在系统路径变量中。

在我的情况下,解决方案是强制使用与相关Python安装程序正确匹配的libiomp5md.dll(在我的情况下,是使用conda创建的虚拟Python 3.5环境)。 我通过在系统路径中加入Python安装程序的library\bin目录来实现。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接