导入pylab时matplotlib"DLL加载失败"

Dan*_*ang 1 python matplotlib

我是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
Run Code Online (Sandbox Code Playgroud)

我搜索了网络,因为缺少msvcp71.dll,但我的C:\ windows\system32中已经有一个

谁有人可以帮忙?谢谢.

Anu*_*yal 8

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

import matplotlib
matplotlib.use('Agg')

import matplotlib.pylab as pylab
Run Code Online (Sandbox Code Playgroud)

有关详细信息和其他方式,请参阅http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg05372.html

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

plt.savefig("plt.png")
Run Code Online (Sandbox Code Playgroud)

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

matplotlib.use('wxagg')
Run Code Online (Sandbox Code Playgroud)

另外我认为tkagg后端本来应该有用,因为tkinter(http://wiki.python.org/moin/TkInter)是python的默认gui,你从python.org安装了python吗?