【问题标题】:ImportError: No module named matplotlib.pyplotImportError:没有名为 matplotlib.pyplot 的模块
【发布时间】:2013-08-11 20:54:59
【问题描述】:

我目前正在练习 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
  • #!/usr/bin/env python 不工作,出现同样的错误。

标签: python matplotlib


【解决方案1】:

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

而且你应该通过了。

【讨论】:

  • 问题中指定库已经安装
  • 目前写的这个答案有太多的赞成票。而不是下载 pip,因为他们(在 macosx 上)已经有 macports,OP 应该运行sudo port install pip。其次,为了使pip 在现有设置之外有用,他们还应该为本地python“虚拟环境”(可能称为python3-virtualenv)执行sudo port install virtualenv。然后,在设置并进入(激活)一个新的 virtualenv 之后,在 virtualenv 中运行pip install ...。最后,仍然需要使用 #!/usr/bin/env python 调用 python 脚本才能使其正常工作。
  • 在 ubuntu 上,我使用了 python ./get-pip.py --user,这对我有用。谢谢
  • 如何告诉 pip 为 python3 安装库?我安装了 py2 和 py3,默认情况下 pip 选择 py2。
  • 感谢“pip install matplotlib”命令!真的很有帮助!!节省了我的时间!!!
【解决方案2】:

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

/usr/bin/python

是标准的mac python,因为它没有matplotlib,所以你应该总是用安装了ports的脚本来启动你的脚本。

如果python your_script.py 有效,则将#! 更改为:

#!/usr/bin/env python

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

【讨论】:

  • 你能详细说明一下吗?我也面临同样的问题。
  • 能否提供步骤。我也没有得到你想要解释的内容,因为我在我的 mac 中遇到了同样的问题
  • 当您的工作目录中有文件名 matplotlib.py 时可能会发生这种情况
  • 在python3中,使用python3 -m pip install matplotlib单独安装matplotlib解决了这个错误。在 Ubuntu 16.04 上测试。
【解决方案3】:

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

sudo apt-get install python-matplotlib

获取matplotlib 的最佳方式是:

pip install matplotlib

因为以前的方式可能会给你一个旧版本的matplotlib

【讨论】:

  • 对不起,我没有指定系统,我使用的是 Debian,类似的系统都可以。
  • np,但问题指出:The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
  • 您可以为您的 OS X 搜索类似于 'apt-get' 的命令
  • 在 Ubuntu 上,您可以将 sudo apt-get install python-matplotlib 用于 python3。
【解决方案4】:

这对我有用,灵感来自 Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

当它起作用时,我知道它安装在错误的位置:

python2.7
import matplotlib

【讨论】:

    【解决方案5】:

    首先检查Python的版本

    对于python2:

    sudo apt-get install python-matplotlib
    

    对于python3:

    sudo apt-get install python3-matplotlib
    

    如果您的 Matplotlib 安装和 Python 版本不匹配,您将收到 no-module-error,因为该版本没有模块存在。

    【讨论】:

      【解决方案6】:

      对于python3。只需要运行pip3 install matplotlib

      【讨论】:

        【解决方案7】:

        如果你使用 Anaconda3

        随便放

        conda install -c conda-forge matplotlib
        

        【讨论】:

          【解决方案8】:

          您可以通过这样做在 python 3 中安装 ma​​tplotlib

          python3 -m pip install matplotlib --user
          

          它对我有用。

          【讨论】:

            【解决方案9】:

            如果你已经安装了 pip 并且 Python 配置了路径变量,只需在终端中运行这个命令。

            pip install matplotlib
            

            【讨论】:

              【解决方案10】:

              所以我使用python3 -m pip install matplotlib' thenimport matplotlib.pyplot 作为 plt` 并且它起作用了。

              【讨论】:

              • 我可以在没有3(例如python -m pip install matplotlib)的情况下运行,非常感谢。
              【解决方案11】:

              我遇到了类似的问题,使用 pip3 并且所有这些东西都适用于安装 matplotlib 而不是 pyplot。这为我解决了这个问题:

              import matplotlib as plt
              from matplotlib import pyplot as pllt
              

              【讨论】:

                【解决方案12】:

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

                我在 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 install 为 3.6 安装时:pip3 install

                在运行 2.7 的代码时,请执行以下操作:python 运行 3.6 的代码时,请执行以下操作:python3

                我希望这对某人有帮助!

                【讨论】:

                  【解决方案13】:

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

                  如果您在安装它的环境之外的另一个环境中运行脚本、python 或 ipython,您将遇到这些问题。

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

                  所以不要重新安装 pip,只要确保你是在 sudo 环境中安装它的,它是作为 sudo 运行的。

                  【讨论】:

                    【解决方案14】:

                    我为此苦恼了好几个小时,直到我考虑检查我的 .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
                    

                    然后用sudo pip3 install matplotlib 重新安装matplotlib。现在一切正常。

                    【讨论】:

                      【解决方案15】:

                      我的虚拟环境目录和项目目录的文件权限不正确,因此不允许我安装正确的软件包。我通过运行更新了它们:

                      sudo chown user:user -R [project folder]
                      sudo chown user:user -R [environment folder]
                      

                      在上述内容中,您应该使用自己的用户名代替“用户”。 -R 递归遍历所有子文件夹和文件。

                      【讨论】:

                        【解决方案16】:

                        从事 django 项目并面临同样的问题, 这就是我所做的。 只需在 python 终端中编写 pip show matplotlib 即可检查您是否已经拥有 matplotlib。

                        1. 如果没有,请运行命令 pip install matplotlib。(确保已下载 pip)
                        2. 再次运行命令 pip show matplotlib。
                        3. 如果库下载成功,就可以运行你的项目了(py manage.py runserver)

                        【讨论】:

                          【解决方案17】:

                          如果您在 venv 中,请不要在 venv 中安装这些库。 从外部安装它们对我有帮助。

                          【讨论】:

                            【解决方案18】:

                            对我来说,在 WIN10 环境下使用 PyCharm 和 Python 3.8,解决方案在 PyCharm 本身的 IDE 中。

                            从 IDE 和项目设置(右上角的齿轮)中,我选择了 Settings -->Project:Python-->Python Interpreter,您可以看到所有已安装的包(并且 matplotlib 不存在包列表中)。

                            单击左上角的 + 图标进行软件包安装,接下来将打开一个包含 PyCharm 可用软件包的新窗口。在查找框中输入 matplotlib 就足够了,选择它并单击安装包。

                            这里是 PyCharm 环境的屏幕截图(根据 21/08/2021 的要求):

                            【讨论】:

                            • 截图不存在?
                            • 刚刚添加(对于我的回答延迟表示歉意)。
                            【解决方案19】:

                            如果您在使用venv 并像我一样运行pytest 时遇到此错误ModuleNotFoundError: No module named 'matplotlib',您可以通过比较路径type pytest 显示和路径type python 显示来检查。在我的情况下pytest 不在venv/bin 目录下,如python,我通过pip 安装pytest 并重新激活venv。见https://stackoverflow.com/a/54597424/3622415

                            【讨论】:

                              猜你喜欢
                              • 2014-07-15
                              • 2017-10-24
                              • 2019-08-05
                              • 2020-03-18
                              • 2013-03-11
                              • 1970-01-01
                              • 2012-12-07
                              • 2012-05-23
                              • 2019-07-29
                              相关资源
                              最近更新 更多