NumPy 库 ImportError:DLL 加载失败:找不到指定的过程

Posted

技术标签:

【中文标题】NumPy 库 ImportError:DLL 加载失败:找不到指定的过程【英文标题】:NumPy library ImportError: DLL load failed: The specified procedure could not be found 【发布时间】:2017-11-16 03:42:56 【问题描述】:

我正在 Windows 10 上使用 Visual Studio 2017 学习 python。当我尝试将 NumPy 库导入我的代码时,出现此错误。我已经尝试卸载并重新安装,按照ImportError: DLL load failed when importing Numpy installed in conda virtual environment 中的说明查找libiomp5md.dll,但没有成功。

Traceback (most recent call last):
  File "C:\Program Files\Python36\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
from . import multiarray
ImportError: DLL load failed: The specified procedure could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\adm\documents\visual studio 2017\Projects\Web Scraping\Web Scraping\Web_Scraping.py", line 17, in <module>
import numpy
  File "C:\Program Files\Python36\lib\site-packages\numpy\__init__.py", line 142, in <module>
from . import add_newdocs
  File "C:\Program Files\Python36\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
  File "C:\Program Files\Python36\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
from .type_check import *
  File "C:\Program Files\Python36\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
  File "C:\Program Files\Python36\lib\site-packages\numpy\core\__init__.py", line 26, in <module>
raise ImportError(msg)
ImportError:
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy. 
If you're working with a numpy git repo, try `git clean -xdf` (removes all 
files not under version control).  Otherwise reinstall numpy.

Original error was: DLL load failed: The specified procedure could not be found.

【问题讨论】:

确保使用 Python 3.6.1。见Python issue #29943 【参考方案1】:

我在使用VSCode时遇到了同样的问题,我通过在系统环境中添加以下路径来解决它。之后重新启动 VSCode,一切正常。

C:\Users\&lt;Your user name&gt;\Anaconda3\Library\bin

如果默认目录下没有安装anaconda,请自行查找Anaconda3\Library\bin

【讨论】:

【参考方案2】:

当我遇到最新numpy 版本的相同问题时,我尝试了以下解决方案

1) 使用pip 卸载numpy,如下所述:

pip uninstall numpy

注意:我的系统中只安装了 Anaconda python v3.x,所以我使用的是pip。如果您同时拥有2.x3.x,请使用pip3 来实现此目的。

2) 使用以下命令安装numpy 1.14.6

pip install numpy==1.14.6

问题中的这个问题在下面链接的 Github 中提到: https://github.com/ContinuumIO/anaconda-issues/issues/1508

【讨论】:

对 python 2.7 没有帮助【参考方案3】:

最新版本(在 python 3 中)似乎已损坏。安装旧版本:

pip3 uninstall numpy
pip3 install 'numpy<1.13'

请记住,这是在 2017 年编写的。可能有一个更新的版本现在没有损坏。

【讨论】:

我无法使用上述命令安装软件包。如果可能的话,你能修改它们吗? 对 python 2.7 没有帮助,它没有 pip3 原帖中的问题是针对python3的【参考方案4】:

第一步确保VS代码能够找到python并且你能够简单地运行

print("hello World!")  # without any imports, makes sure vscode is able to find python

参考How to setup VS code to find python3 on windows 10

第二步

正确查看错误消息并注意指向 numpy 位置的路径。就我而言,它是 C:\ProgramData\Anaconda3\lib\site-packages\numpy\core 这是 conda 基础环境,您必须在此处升级 numpy。如果您的位置不同,则需要在相应的环境路径中删除/更新 numpy。

  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
    from . import multiarray
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".\pie_chart.py", line 1, in <module>
    import numpy as np
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>

请参阅上图,在我的情况下,vscode 中的错误消息指向以下路径 C:\ProgramData\Anaconda3\lib\site-packages\numpy\core。此路径对应 conda Base 环境。要验证只需执行 pip install numpy 并告诉您路径,请确保您在管理员模式下启动 Anaconda prompt 并执行 pip install in conda prompt。 一旦我确定我安装包的路径(即环境)与错误消息中的相同。我运行了以下命令(根据您的错误消息添加包)

`

#Run below commands in conda command prompt using administrator mode
pip uninstall numpy  
pip uninstall scipy

pip install numpy --upgrade
pip install scipy --upgrade

按照这个过程解决了我的错误。

【讨论】:

【参考方案5】:

我刚刚遇到了这个问题,对我有用的是将我的默认 shell 从 powershell 切换到“命令提示符”。

我使用单独的 powershell 和命令提示符窗口对此进行了测试。不知道为什么powershell会失败,一定是某种路径问题。

【讨论】:

对我来说就是这种情况。谢谢!【参考方案6】:

我最近在重新安装新的 Windows 10 后遇到了这样的问题。 我的道路和一切都很好(正如上面其他人所提到的)。 我什至检查了 python 内部的路径(通过打印 os.environ.get('PATH'))。一切都很好,但麻木在抱怨。我在以前的win10上做了什么。 在我以前的 win10 上,我有 Anaconda3,并创建了一个新环境,其中包含我需要的 numpy 和其他包,一切运行良好。我在新的新 win10 上做了同样的事情,除了我安装了 Miniconda3 而不是 Anaconda3。 无论如何,这解决了问题:

切换到base env(conda 激活基础) 在base 中安装 numpy (conda install numpy) 并切换回 my_env(已经安装了 numpy) 显然对于 Miniconda,虽然您的环境中有 numpy(当您在该环境中时,相关路径已经添加到 windows 环境中),但 numpy 仍然在 base 环境中寻找一些依赖关系。

【讨论】:

【参考方案7】:

我刚刚在Windows10Anaconda3 64bits evn python=3.6 上收到此错误。我解决了使用conda install numpy 而不是pip...

【讨论】:

【参考方案8】:

参考我的回答here

您需要更新环境变量“PATH”,添加 \Library\bin

注意:仅当您已经安装了 numpy 并且仍然面临问题时,才执行此步骤。

C:\Users\<username>\AppData\Roaming\Python\Python<version>\Library\bin
C:\Users\<username>\AppData\Local\Continuum\Anaconda<version>\Library\bin\

【讨论】:

【参考方案9】:

是的,伙计们,答案是去设置-高级系统设置-环境变量并添加C:\Users\"username"\Anaconda3\Library\bin

然后你重新启动它。

【讨论】:

以上是关于NumPy 库 ImportError:DLL 加载失败:找不到指定的过程的主要内容,如果未能解决你的问题,请参考以下文章

ImportError: DLL load failed: 找不到指定的模块

ImportError: DLL load failed: 找不到指定的模块 解决方案汇总

ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序 - scikit-learn+

ImportError:DLL load failed:找不到指定的模块怎么办?

ImportError:导入聚合时DLL加载失败:找不到指定的模块

在 Windows 上使用第三方 C++ 进行 pybind (ImportError: DLL load failed)