ImportError:matplotlib需要dateutil;导入matplotlib.pyplot作为plt

1 投票
4 回答
13461 浏览
提问于 2025-04-18 01:35

我刚开始学习编程和Python,每次运行我的程序时都会出现下面的错误。有人建议我用pip来解决这个问题。但是我在命令提示符下安装不了pip。虽然我在PowerShell里成功安装了,但还是无法让它正常工作。我该怎么解决这个问题呢?有什么建议都非常感谢。

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    from satmc import satmc
  File "C:\Python27\starb_models_grid1\satmc.py", line 3, in <module>
    import matplotlib.pyplot as plt
  File "C:\Python27\lib\site-packages\matplotlib\__init__.py", line 110, in <module>
    raise ImportError("matplotlib requires dateutil")
ImportError: matplotlib requires dateutil

我使用的是2.7.3版本

4 个回答

0

我用 pip 安装了 python-dateutil,但还是一直出现同样的错误。后来我通过从 这个链接 安装解决了这个问题。你可以去找一下 Matplotlib 的部分,安装你缺少的依赖库。
Matplotlib 是一个用于绘制二维图形的库。它需要一些其他的库,比如 numpy、dateutil、pytz、pyparsing、six、setuptools,还有一些可选的库,比如 pillow、pycairo、tornado、wxpython、pyside、pyqt4、ghostscript、miktex、ffmpeg、mencoder、avconv 或者 imagemagick。

1

这个错误提示你缺少 Dateutil。

这可能是因为你没有通过 pip install python-dateutil 安装 Dateutil,或者你安装 Python 模块的方式有问题。不过,如果你已经用 pip 安装了,但还是出现同样的错误,那可能是因为 Dateutil 安装在了一个 Python 不知道的文件夹里。

以我自己的情况为例(Mac OSX),我通过 Brew 安装了 pip,具体网址是 http://brew.sh/。这样安装的 pip 会把模块放在:/usr/local/lib/python2.7/site-packages/ 这个文件夹里。

但是标准的 Mac OSX Python 安装会在 /Library/Python/2.7/site-packages/ 这个文件夹里找模块。

当然,你的文件夹可能会有所不同,但你可以用下面的命令检查 Python 查找模块的路径:

import sys
print sys.path

检查一下,看看列表中的某个目录是否包含了 Dateutil 安装的目录。如果没有,你可以添加一个 PYTHONPATH 环境变量,比如:PYTHONPATH=/usr/local/lib/python2.7/site-packages/,或者是你安装 Dateutil 的那个文件夹。

2

你可能在寻找:

pip install python-dateutil
2

要让 numpy 正常工作,你需要安装一些软件包。

  1. libsvm-3.17.win32-py2.7
  2. pyparsing-2.0.1.win32-py2.7
  3. python-dateutil-2.2.win32-py2.7
  4. pytz-2013.9.win32-py2.7
  5. six-1.5.2.win32-py2.7
  6. scipy-0.13.3.win32-py2.7
  7. numpy-MKL-1.8.0.win32-py2.7
  8. Matplotlib

你可以从这个 链接 下载所有的安装文件,安装完之后就能正常使用 numpy 了。

撰写回答