ImportError:没有名为matplotlib.pyplot的模块


149

我目前正在练习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_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
built-in python 2.7

numpy,scipy,matplotlib已安装:

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

尝试改用#!/ usr / bin / env python
Uku Loskit 2013年

1
#!/ usr / bin / env python不起作用,发生相同的错误。
NIMISHAN

Answers:


48

您的计算机上安装了两个python,一个是Mac OSX随附的标准python,第二个是您使用端口安装的python(这是已matplotlib安装在其库中的一个,而macosx却没有安装)。 。

/usr/bin/python

是标准的mac python,由于没有,所以matplotlib您应该始终使用安装了端口的脚本启动脚本。

如果python your_script.py可行,请将更改#!为:

#!/usr/bin/env python

或将完整路径放入matplotlib已在其库中安装的python解释器。


3
您能详细说明一下吗?我面临着同样的问题。
Akash Kandpal,

1
您能否提供步骤。我也没有得到您要解释的内容,因为我在Mac中面临着同样的问题
bhaskar,

当您的工作目录中具有文件名matplotlib.py时,可能会发生这种情况
Abhishek Parikh,

4
在python3,单独安装matplotlib使用python3 -m pip install matplotlib解决了这个错误。在Ubuntu 16.04上测试。
vineeshvs

159

pip 让您的生活更轻松!

第1步:安装pip-简单地通过在python控制台中编写pip来检查是否已有pip。如果没有pip,请通过以下网址获取一个名为get-pip.py的python脚本:https://pip.pypa.io/en/latest/installing.html或直接在此处:https://bootstrap.pypa .io / get-pip.py(您可能必须使用另存为..)

第2步:记下文件的保存位置,然后从命令提示符下cd目录。运行get-pip.py脚本以安装pip。您可以在cmd这一行中用引号引起来:“ python。\ get-pip.py”

步骤3:现在输入cmd: pip install matplotlib

而你应该通过。


13
在该问题中,指定已安装该库
tashuhka

4
当前撰写的答案答案过多。因为它们(位于macosx上)已经具有macport,所以不必下载pip,而是应该运行OP sudo port install pip。其次,pip要想在现有设置之外发挥作用,还应该sudo port install virtualenv针对本地python“虚拟环境”(可能称为python3-virtualenv)进行操作。然后,在设置并输入(激活)新的virtualenv之后,pip install ...在virtualenv内部运行。最后,仍然需要使用来调用python脚本,以使所有脚本#!/usr/bin/env python都起作用。
迈克尔,

在ubuntu上,我使用了 python ./get-pip.py --user ,对我有用。thx
LeleMarieC '19

36

如果您使用的是Python 2,请运行

sudo apt-get install python-matplotlib

最好的获取方法matplotlib是:

pip install matplotlib

因为以前的方法可能会给您旧版本 matplotlib


抱歉,我没有指定系统,我使用的是Debian,类似系统可以使用。
k.biao

4
np,但问题指出: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
兰亭布

您可以在OS X中搜索
类似于

在Ubuntu上,您可以使用sudo apt-get install python-matplotlibpython3。
user2023370

24

这对我有用,受到Sheetal Kaul的启发

pip uninstall matplotlib
python3 -m pip install matplotlib

我知道它在工作时安装在错误的位置:

python2.7
import matplotlib

12

python的第一个检查版本

对于python2 Vesion

sudo apt-get install python-matplotlib

对于python3版本

sudo apt-get install python3-matplotlib

如果您将python版本的matplotlib安装错过匹配,则会出现“无模块错误”,因为该版本没有模块退出。




1

我有一个类似的问题已解决,这是我的问题:

我在python3上进行了所有设置,但是例如,我使用python来调用我的文件:我正在输入“ python mnist.py” ...因为我在python3上拥有所有内容,所以我认为我正在尝试使用python 2.7

的更正:“ python3 mnist.py”-3使一切有所不同

我绝不是python或pip的专家,但是pip和pip3之间肯定有区别(pip与python 2.7绑定)(pip3与python 3.6绑定)

因此,当安装2.7时要执行:pip安装当安装3.6时要执行:pip3安装

当运行2.7的代码时执行:python运行3.6的代码时执行:python3

我希望这可以帮助别人!


1

正常供稿中的评论被屏蔽。让我写下为什么会发生这种情况,就像您执行应用程序时一样。

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

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

因此,不要重新安装pip,只要将其安装在sudo环境中,请确保将其作为sudo运行。


0

我花了好几个小时不停地思考,直到我想检查一下.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 install matplotlib。现在一切都运转良好。


0

因此,我将python3 -m pip install matplotlib' thenimport matplotlib.pyplot用作plt`,并且有效。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.