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\<Your user name>\Anaconda3\Library\bin
如果默认目录下没有安装anaconda,请自行查找Anaconda3\Library\bin
。
【讨论】:
【参考方案2】:当我遇到最新numpy
版本的相同问题时,我尝试了以下解决方案
1) 使用pip
卸载numpy
,如下所述:
pip uninstall numpy
注意:我的系统中只安装了 Anaconda python v3.x,所以我使用的是pip
。如果您同时拥有2.x
和3.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】:我刚刚在Windows10
、Anaconda3
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)