ImportError:matplotlib需要dateutil;导入matplotlib.pyplot作为plt
我刚开始学习编程和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 个回答
我用 pip 安装了 python-dateutil,但还是一直出现同样的错误。后来我通过从 这个链接 安装解决了这个问题。你可以去找一下 Matplotlib 的部分,安装你缺少的依赖库。
Matplotlib 是一个用于绘制二维图形的库。它需要一些其他的库,比如 numpy、dateutil、pytz、pyparsing、six、setuptools,还有一些可选的库,比如 pillow、pycairo、tornado、wxpython、pyside、pyqt4、ghostscript、miktex、ffmpeg、mencoder、avconv 或者 imagemagick。
这个错误提示你缺少 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 的那个文件夹。
你可能在寻找:
pip install python-dateutil
要让 numpy
正常工作,你需要安装一些软件包。
- libsvm-3.17.win32-py2.7
- pyparsing-2.0.1.win32-py2.7
- python-dateutil-2.2.win32-py2.7
- pytz-2013.9.win32-py2.7
- six-1.5.2.win32-py2.7
- scipy-0.13.3.win32-py2.7
- numpy-MKL-1.8.0.win32-py2.7
- Matplotlib
你可以从这个 链接 下载所有的安装文件,安装完之后就能正常使用 numpy 了。