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

mkr*_*ems 18 python numpy python-2.7 anaconda

在Windows中,我使用该命令创建了Conda虚拟环境

conda create -n test python=2.7 pandas scipy matplotlib numpy
Run Code Online (Sandbox Code Playgroud)

一旦创建,我就激活了虚拟环境并进入了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.
Run Code Online (Sandbox Code Playgroud)

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

Car*_*din 12

与@Rafael不同,对我来说,libiomp5md.dll不是问题.我安装了Dependency Walker来调查发生了什么.尽管dll版本不同,但Dependency Walker表示没问题.

但是有什么问题,那mkl_intel_thread.dll是警告(红色图标).如果您正在使用Win 8 ++,请忽略api-winext-ms问题,因为Dependency Walker未针对新的Windows版本进行更新,并且无法识别Windows新API.

我的解决方案是mkl_*.dlls将前者全部复制到后者:

  • \ Anaconda2 \图书馆\ BIN
  • \ Anaconda2\LIB \站点包\numpy的\核心

之后我能够导入numpy和sklearn.

  • 除了Anaconda3,我有同样的错误.我没有移动dll文件,但我将路径\ Anaconda3\Library\bin添加到我的Windows 10路径变量,然后它工作. (10认同)
  • 在我的情况下,Windows 10 上的 Anaconda 3 和 python 3.7 将以下 3 个路径添加到路径变量有帮助:`C:\ProgramData\Anaconda3\Library\bin; C:\ProgramData\Anaconda3\Scripts; C:\ProgramData\Anaconda3 ` (4认同)

小智 10

再次卸载并安装numpy.

pip uninstall numpy
pip install numpy
Run Code Online (Sandbox Code Playgroud)

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

  • 使用 `conda` 时不应使用 `pip` (7认同)

cfh*_*cfh 7

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

conda install msvc_runtime
Run Code Online (Sandbox Code Playgroud)

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


HAl*_*tos 5

就我而言,我在 anaconda3 中也遇到了 import numpy DLL 错误,Decrayer(11 月 28 日)提供了最佳解决方案:除了 Anaconda3 之外,我也遇到了相同的错误:只需将路径 \Anaconda3\Library\bin 添加到您的 Windows 10 路径变量然后它就起作用了。

我一直在尝试安装anaconda3.7.1或3.7.0,但没有成功,在关键步骤之后重新启动PC以确保DLL不再在内存中使用。最终,感谢 Decrayer,现在 numpy 可以为我工作了!


BDe*_*rce 5

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

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

在将它们显式添加到系统路径变量之前,您可以通过临时添加这些路径来执行测试:

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

感谢这篇关于 PyCharm 支持的文章