Win 7 32位 matplotlib dateutil

2 投票
1 回答
7551 浏览
提问于 2025-04-17 20:40

我刚在我的Win 7电脑上安装了以下内容,这台电脑使用的是AMD A8-5600K APU(64位操作系统)。

python-2.7.6.msi
matplotlib-1.3.1.win32-py2.7.exe
numpy-1.8.0-win32-superpack-python2.7.exe

当我使用

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

时,我收到了这个错误信息:

Traceback (most recent call last): 
  File "C:\Python27\MuirsProgs\decay-1.py", line 9, in <module> 
    import matplotlib.pyplot as plt 
  File "C:\Python27\lib\site-packages\matplotlib_init_.py", line 111, in <module> 
    raise ImportError("matplotlib requires dateutil") 
ImportError: matplotlib requires dateutil

我刚接触Python,对如何解决这个问题一点头绪都没有。

1 个回答

5

如果你仔细看看你收到的实际错误信息,你会发现matplotlib这个库需要dateutil模块。其实它还需要其他几个模块,并且还有一些可选的依赖模块。对于Windows用户来说,安装很多科学计算和其他模块最简单的方法是去Christoph Gohlke的优秀网站Python Extension Packages for Windows,看看你需要的模块是否在那儿。很多模块都是和Intel的数学核心库(MKL)一起编译的,这样性能会更好。

如果你往下看matplotlib的部分,你会找到所需和可选依赖的列表,包括numpydateutilpytzpyparsingsix。我还建议你安装Pillowtornado,以及你喜欢的图形后端(我用的是pyqt)。只需按照链接去其他部分,下载适合你Python版本和位数的文件。即使你用的是AMD处理器,我也建议你重新下载与MKL相关的NumPy安装包,因为很多其他包都依赖于它,如果你的处理器没有Intel的所有特性,它也会正常工作。还建议你重新下载matplotlib的安装包,这样所有模块都来自同一个来源,能更好地配合。如果你愿意,可以提前去C:\Python27\Lib\site-packages目录,删除numpymatplotlib文件夹,以及任何其他相关名称的文件/文件夹。如果你除了这两个模块外没有安装其他第三方模块,那么只需删除site-packages目录下的所有内容就可以了。

祝你好运!

撰写回答