conda update --all = "ImportError: DLL load failed: %1 is not a valid Win32 application." when trying to import matplotlib.pyplot

conda update --all = "ImportError: DLL load failed: %1 is not a valid Win32 application." when trying to import matplotlib.pyplot

我使用 Python 分布。 Python 2.7 x64 与 Windows 7 SP1 x64 Ultimate。

conda update --all 之后,每当我尝试 import matplotlib.pyplot 时,我都会得到 ImportError: DLL load failed: %1 is not a valid Win32 application.。为什么?

完整的错误堆栈:

Traceback (most recent call last):
  File "C:\svn\hw4\code\test_con.py", line 1, in <module>
    import matplotlib.pyplot as plt
  File "C:\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 109, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "C:\Anaconda\lib\site-packages\matplotlib\backends\__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "C:\Anaconda\lib\site-packages\matplotlib\backends\backend_qt4agg.py", line 17, in <module>
    from .backend_qt5agg import NavigationToolbar2QTAgg
  File "C:\Anaconda\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 18, in <module>
    from .backend_qt5 import QtCore
  File "C:\Anaconda\lib\site-packages\matplotlib\backends\backend_qt5.py", line 31, in <module>
    from .qt_compat import QtCore, QtGui, QtWidgets, _getSaveFileName, __version__
  File "C:\Anaconda\lib\site-packages\matplotlib\backends\qt_compat.py", line 91, in <module>
    from PyQt4 import QtCore, QtGui
ImportError: DLL load failed: %1 is not a valid Win32 application.

我在 运行ning conda update anaconda 后遇到了同样的问题。对我有用的解决方案是简单地下载最新的 windows 安装程序,然后卸载并重新安装。

我怀疑这与您的 conda 环境的路径名有关,就好像您进行了全新安装的 anaconda 现在想住在 C:\Users\yourname\AppData\Local\Continuum\Anaconda2,而之前它只是 Anaconda(第 2 号)。我怀疑在 运行 升级脚本后,有些东西指向了不存在的(对你来说)"new" 路径。

我发现如果我在 运行ning 任何东西之前使用 activate myenvname 显式激活 conda 环境,它就可以正常工作。同样,如果您从 "anaconda prompt"(为您激活默认环境)中选择 运行,它也可以正常工作。但是为了让我的默认环境在任何地方保持活跃,我必须重新安装。

以下是对我有用的方法:

  1. 运行 conda update -f matplotlib(来自 Anaconda 命令提示符)

这给了我一个新的错误:

RuntimeError: module compiled against API version a but this version of numpy is 9
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 32, in <module>
    import matplotlib.artist as martist
  File "C:\Anaconda\lib\site-packages\matplotlib\artist.py", line 12, in <module>
    from .transforms import Bbox, IdentityTransform, TransformedBbox, \
  File "C:\Anaconda\lib\site-packages\matplotlib\transforms.py", line 39, in <module>
    from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox,
ImportError: numpy.core.multiarray failed to import
  1. 运行 conda update -f numpy

这给了我一个新的错误:

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.
  1. 运行conda install anaconda。这将您的系统回滚到稳定的 anaconda 发行版,并解决了问题。 (我猜你可以跳过第 1 步和第 2 步,但我不想再通过它来确认......)