【问题标题】:matplotlib "DLL load failed" when import pylab导入pylab时matplotlib“DLL加载失败”
【发布时间】:2010-11-06 08:57:26
【问题描述】:

我是 matplotlib 的新手。我的环境是WinXP,PythonWin 2.6.2,NumPy 1.3.0,matplotlib 0.98.5.3。

>>> import matplotlib.pylab as pylab
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "D:\Python26\lib\site-packages\matplotlib\pylab.py", line 253, in <module>
    from matplotlib.pyplot import *
  File "D:\Python26\lib\site-packages\matplotlib\pyplot.py", line 75, in <module>
    new_figure_manager, draw_if_interactive, show = pylab_setup()
  File "D:\Python26\lib\site-packages\matplotlib\backends\__init__.py", line 25, in pylab_setup
    globals(),locals(),[backend_name])
  File "D:\Python26\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 8, in <module>
    import tkagg                 # Paint image to Tk photo blitter extension
  File "D:\Python26\lib\site-packages\matplotlib\backends\tkagg.py", line 1, in <module>
    import _tkagg
ImportError: DLL load failed: cannot find the module

我在网上搜索,据说是因为缺少msvcp71.dll,但我的C:\windows\system32\中已经有一个

有人可以帮忙吗? 谢谢。

【问题讨论】:

  • 请在 matplotlib-users 邮件列表中报告此问题。在 Windows 上为 Python 2.6 构建的版本非常新,因此在某些环境中出现问题也就不足为奇了。

标签: python matplotlib


【解决方案1】:

在使用任何其他模块之前先试试这个

import matplotlib
matplotlib.use('Agg')

import matplotlib.pylab as pylab

查看http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg05372.html了解更多详情和其他方式

matplotlib 可以使用不同的后端进行渲染,agg 是纯绘制没有 UI,所以你只能保存图像,例如

plt.savefig("plt.png")

阅读http://matplotlib.sourceforge.net/faq/installing_faq.html#what-is-a-backend 了解更多详情,例如您可以输出到 ps、pdf、wxagg、tkagg 等,所以如果您安装了 wxpython,请使用此

matplotlib.use('wxagg')

我也认为 tkagg 后端应该可以工作,因为 tkinter(http://wiki.python.org/moin/TkInter) 是 python 的默认 gui,你是否从 python.org 安装了 python?

【讨论】:

  • 是的,这样 dll 加载错误就会消失。但是当我输入以下示例脚本时什么也没有出现。它应该显示一个带有图像的窗口,对吗? >>> import matplotlib >>> matplotlib.use("Agg") >>> import matplotlib.pylab as pylab >>> import matplotlib.pyplot as plt >>> plt.plot([1,2,3]) > >> plt.ylabel("一些") >>> plt.show()
  • 修改答案,看看为什么什么都看不到
  • 是的,我可以用“Agg”保存 png 文件。我只是好奇为什么它不能使用“TkAgg”。我使用的是 PythonWin2.6.2,并通过了基本的 Tkinter 测试:>>> import _tkinter >>> import Tkinter >>> Tkinter._test()。但是一旦使用(“TkAgg”),导入 pylab 就会失败,并在我的第一个问题中出现“DLL 加载失败”。谢谢。
【解决方案2】:

我在安装 activestat python 2.6 和 pylab 时遇到了同样的问题。安装 sourceforge python 2.6.2 后,它运行良好

【讨论】:

    【解决方案3】:

    我实际上找到了答案,并且图表在我的计算机上运行良好。如果您遇到这样的 DLL 错误,请尝试在您的计算机中下载 msvcp71.dll 和 msvcr71.dll,然后将这两个复制粘贴到您的 System32 文件夹中:

    C:\Windows\System32

    如果您使用的是 64 位操作系统,还可以将这两个 dll 复制粘贴到 SysWOW64 文件夹中

    C:\Windows\SysWOW64

    现在尝试在 Python 中运行您的代码文件,它会在几秒钟内加载图表。这是说明如何将 dll 复制粘贴到两个文件夹的链接,这可能会有所帮助

    http://www.youtube.com/watch?v=xmvRF7koJ5E

    干杯...

    【讨论】:

    • 请注意,这个问题是 4 年前发布的。
    【解决方案4】:

    我在使用 Python 2.7 的 iPython 笔记本时遇到了这个问题。显然最新的 Seaborn 更新不能很好地配合我的本地配置设置,所以我做了“conda/pip install seaborn=0.5.1”。它自动降级了必要的软件包,我的问题就消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 2021-07-25
      • 2021-04-17
      • 1970-01-01
      相关资源
      最近更新 更多