我目前正在练习matplotlib。这是我练习的第一个例子。

#!/usr/bin/python

import matplotlib.pyplot as plt

radius = [1.0, 2.0, 3.0, 4.0]
area = [3.14159, 12.56636, 28.27431, 50.26544]

plt.plot(radius, area)
plt.show()

当我用python ./plot_test.py运行这个脚本时,它正确地显示了plot。然而,我自己运行它,./plot_test.py,它抛出以下内容:

Traceback (most recent call last):
  File "./plot_test.py", line 3, in <module>
    import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot

python是否在不同的位置查找matplotlib ?

环境是:

Mac OS X 10.8.4 64bit 内置python 2.7

Numpy, scipy, matplotlib安装:

sudo port install py27-numpy py27-scipy py27-matplotlib \
py27-ipython +notebook py27-pandas py27-sympy py27-nose

当前回答

正常提要中的注释被阻塞。我来写一下为什么会这样,就像你执行你的应用程序一样。

如果您在安装脚本的环境之外的其他环境中运行脚本、python或ipython,则会遇到这些问题。

不要混淆重新安装它。Matplotlib通常安装在用户环境中,而不是sudo中。你在改变环境。

因此,不要重新安装pip,只要确保在sudo环境中安装pip时以sudo的方式运行即可。

其他回答

您的机器上安装了两个python,一个是Mac OSX附带的标准python,第二个是您安装了端口的python(这是一个在其库中安装了matplotlib的python, macosx附带的python没有)。

/usr/bin/python

是标准的mac python,因为它没有matplotlib,你应该总是用一个安装了端口的脚本启动。

如果python your_script.py可以工作,则更改#!:

#!/usr/bin/env python

或者将完整路径放到库中安装了matplotlib的python解释器。

首先检查Python的版本

python2:

sudo apt-get install python-matplotlib

python3:

sudo apt-get install python3-matplotlib

如果您不匹配Matplotlib安装和Python版本,您将得到no-module错误,因为该版本没有模块退出。

正常提要中的注释被阻塞。我来写一下为什么会这样,就像你执行你的应用程序一样。

如果您在安装脚本的环境之外的其他环境中运行脚本、python或ipython,则会遇到这些问题。

不要混淆重新安装它。Matplotlib通常安装在用户环境中,而不是sudo中。你在改变环境。

因此,不要重新安装pip,只要确保在sudo环境中安装pip时以sudo的方式运行即可。

我用conda解决了。一旦安装miniconda或anaconda,键入

conda install matplotlib

然后,当出现提示时,键入

y

通过这样做,可以在python 3中安装matplotlib包

python3 -m pip install matplotlib --user

这对我很有用。