ImportError:导入conda虚拟环境中安装的Numpy时DLL加载失败

时间:2016-04-21 18:48:51

标签: python python-2.7 numpy anaconda

在Windows中,我使用命令

创建了Conda虚拟环境
conda create -n test python=2.7 pandas scipy matplotlib numpy

创建后,我激活了虚拟环境并进入了python解释器。当尝试导入numpy时,我收到以下错误:

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\__init__.py", line 180, in <module>
    from . import add_newdocs
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\lib\__init__.py", line 8,
 in <module>
    from .type_check import *
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\core\__init__.py", line 14, in <module>
    from . import multiarray
ImportError: DLL load failed: The specified module could not be found.

有什么想法在这里发生了什么?谢谢!

5 个答案:

答案 0 :(得分:10)

再次卸载并安装numpy。

pip uninstall numpy
pip install numpy

然后再次尝试导入,它应该工作。这就是我做的事情

答案 1 :(得分:7)

解决此问题的正确方法似乎是:

conda install msvc_runtime

如果您在虚拟环境中,请在此处添加此包。

答案 2 :(得分:3)

为了记录,我在这里遇到了同样的错误(Windows 10上的Python 3.5 64位),this page帮我找到了解决方案。问题是与libiomp5md.dll发生冲突,该冲突存在于两个位置:

  • C:\ Windows \ System32下\ libiomp5md.dll
  • C:\ Anaconda3 \库\ BIN \ libiomp5md.dll

Python试图使用System32文件夹中的版本,这是一个旧版本。我删除了它(重命名),现在它在Anaconda3文件夹上使用了正确的版本,现在我可以导入numpy而不会导致导入错误。

答案 3 :(得分:1)

对于我来说,anaconda3中也存在导入numpy DLL错误,Decrayer(11月28日)提供了最佳解决方案:除了Anaconda3以外,我有相同的错误:只需将路径\ Anaconda3 \ Library \ bin添加到您的Windows 10路径变量,然后它起作用了。

我一直在尝试安装anaconda3.7.1或3.7.0,但没有运气,在执行关键步骤以确保DLL不再在内存中使用后,我将全长重新启动PC。最终,感谢decrayer,现在numpy对我有用!

答案 4 :(得分:1)

对我来说,这是通过在我的系统路径变量中添加以下路径来解决的。

C:\Users\UserName\Anaconda3\
C:\Users\UserName\Anaconda3\bin
C:\Users\UserName\Anaconda3\Scripts
C:\Users\UserName\Anaconda3\Library\mingw-w64\bin (not strictly necessary)
C:\Users\UserName\Anaconda3\Library\bin

在执行此操作之前,您可以通过手动添加以下路径进行测试:

base_path = r"C:\Users\UserName\Anaconda3"
path = os.pathsep.join([os.path.join(base_path, i) for i in [r"", r"bin", r"Scripts", r"Library\mingw-w64\bin", r"Library\bin"]])
os.environ["PATH"]+=os.pathsep+path

感谢this post对PyCharm的支持。