我目前正在练习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

当前回答

受到Sheetal Kaul的启发,这个方法对我很有效

pip uninstall matplotlib
python3 -m pip install matplotlib

当它工作时,我知道它安装在错误的地方:

python2.7
import matplotlib

其他回答

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

python3 -m pip install matplotlib --user

这对我很有用。

我把我的头砸了几个小时,直到我想到检查我的.bash_profile。我没有为python3列出路径,所以我添加了以下代码:

# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

然后重新安装matplotlib用sudo pip3安装matplotlib。现在一切都运转得很好。

如果你在使用venv和运行pytest时遇到了这个错误ModuleNotFoundError:没有名为“matplotlib”的模块,你可以通过比较pytest显示的路径类型和python显示的路径类型来检查。在我的情况下,pytest不像python那样在venv/bin目录下,我通过pip安装了pytest并重新激活了venv。参见https://stackoverflow.com/a/54597424/3622415

受到Sheetal Kaul的启发,这个方法对我很有效

pip uninstall matplotlib
python3 -m pip install matplotlib

当它工作时,我知道它安装在错误的地方:

python2.7
import matplotlib

如果安装了pip并将Python配置为路径变量,则只需在终端中运行此命令。

pip install matplotlib