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

17

我使用Anaconda Python发行版:Python 2.7 x64和Windows 7 SP1 x64 Ultimate。

当我执行 import matplotlib.pyplot时,我遇到了ImportError: DLL load failed: The specified module could not be found.的错误。可能是什么问题?

完整的错误堆栈:

Traceback (most recent call last):
  File "C:\svn\hw4\code\test_con.py", line 1, in <module>
    import matplotlib.pyplot 
  File "C:\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 27, in <module>
    import matplotlib.colorbar
  File "C:\Anaconda\lib\site-packages\matplotlib\colorbar.py", line 34, in <module>
    import matplotlib.collections as collections
  File "C:\Anaconda\lib\site-packages\matplotlib\collections.py", line 27, in <module>
    import matplotlib.backend_bases as backend_bases
  File "C:\Anaconda\lib\site-packages\matplotlib\backend_bases.py", line 56, in <module>
    import matplotlib.textpath as textpath
  File "C:\Anaconda\lib\site-packages\matplotlib\textpath.py", line 22, in <module>
    from matplotlib.mathtext import MathTextParser
  File "C:\Anaconda\lib\site-packages\matplotlib\mathtext.py", line 63, in <module>
    import matplotlib._png as _png
ImportError: DLL load failed: The specified module could not be found.

conda update -f numpyconda update -f libpngconda update -f matplotlib没有帮助。

conda list matplotlib的输出:

C:\Anaconda>conda list matplotlib
# packages in environment at C:\Anaconda:
#
matplotlib                1.4.3               np110py27_2
matplotlib-venn           0.11                      <pip>

运行conda update --all后出现了这个问题。


这里的使用者似乎遇到了同样的问题并解决了它 - https://dev59.com/7WIj5IYBdhLWcg3wflIy。另外,世界真小 :) - Rohit Pandey
conda list matplotlib 的输出是什么? - cel
@cel 谢谢,抱歉我忘记提到matplotlib的版本,我已经在问题末尾添加了它! - Franck Dernoncourt
@RohitPandey 谢谢,我已经检查过了,msvcp71.dllmsvcr71.dllC:\Windows\System32C:\Windows\SysWOW64 中都有。看起来在其他问题中他们没有使用Anaconda Python,也许这会改变解决方案,我不知道...世界真小 :) - Franck Dernoncourt
11个回答

15

我在Windows电脑上解决了这个问题,方法是将[Anaconda]/Library/bin添加到我的PATH中。


1
这对我有用。PyQt4也有同样的问题。据我所知,Anaconda的构建脚本正在改变...可能会引起一些问题。请参见此处:https://github.com/spyder-ide/spyder/issues/2765#issuecomment-152216201 - Onlyjus
@Onlyjus 我最初确实遇到了PyQt4的问题。conda update -f matplotlib解决了这个问题,但是接着我又遇到了其他错误 ... - Franck Dernoncourt

8
我也遇到了这个问题。似乎是在过去一两周中出现的。看起来scipy堆栈中的某些内容编译不正确。短期内处理方式如下:
conda install anaconda

将会将您的系统回滚到稳定的anaconda发行版。


10
这对我没有解决问题。(该问题在Windows 7企业版、Python 3.4.3和Anaconda 2.4.0上重现) - Dobbs_Head
这对我没有解决问题,但是libpng的答案(@Vasco)解决了。(Windows 7,Python 3.4.3) - Gordon Bean

7

我通过安装libpng解决了这个问题:

conda install libpng

6

1
修复说明摘要的直接链接:https://github.com/conda/conda/issues/1753#issuecomment-154885530 - bastelflp

2

我的情况下,Anaconda自带的SciPy软件包栈已经损坏。

condapip是两个不同的软件包管理器,您可以使用它们来安装Python软件包。conda可以安装各种软件包,它会将Python本身作为一个软件包进行安装。pip面向Python用户。

conda软件包已经损坏,因此我尝试通过卸载默认的软件包并使用pip进行重新安装来解决问题。

请尝试以下操作:

1. 创建新环境

此步骤仅作为一项安全措施。如果您愿意,您可以跳过此步骤。

打开Anaconda提示符并运行以下命令:

conda create --name testtrial python=3  //install whichever version of Python you want 
activate testtrial

2. 移除和安装新的软件包

conda remove matplotlib //required only if you skipped the first step and are working in the default(root) environment 
pip install matplotlib

那应该解决问题了。


使用conda的快速指南。


1

确保在运行此命令时关闭所有Python相关的东西。在命令提示符(而不是IPython提示符)下使用以下代码,可以创建一个名为“working”的环境,其中包括Anaconda 2.2.0、Cython 0.22、Numpy 1.9.2 py33_0、Pandas 0.15.2和Python 3.3.5。

conda create -n working python=3 anaconda

要使用该环境,请运行以下命令:

activate working

现在您可以启动IPython或Notebook,至少Matplotlib应该可以导入。

0

我遇到了相同的错误提示。最后我发现我在不同的环境中打开了jupyter笔记本,而不是之前使用的环境。这意味着该模块不在您的jupter笔记本环境目录中。所以我只需在原始环境中打开jupyter笔记本,问题就解决了。


0

0

我刚刚卸载了当前的numpy并从this链接安装了一个wheel numpy。

这解决了我的问题。我猜我们不应该使用来自随机来源的dll文件。


0

尝试降级到较低的版本,这个命令对我有效:

conda install libpng=1.6.22

这会降级 matplotlib 和其他一些包,但它们似乎能很好地协作。


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