【问题标题】:ModuleNotFoundError: No module named 'matplotlib.pyplot'ModuleNotFoundError:没有名为“matplotlib.pyplot”的模块
【发布时间】:2017-10-24 06:01:34
【问题描述】:

在制作情节时,我使用了 Jupyter Notebook 和 Pycharm 以及相同的代码和包集。代码是:

import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt   # as in Pycharm
import matplotlib as plt          # as in Jupyter

df = pd.read_csv("/home/kunal/Downloads/Loan_Prediction/train.csv")
df['ApplicantIncome'].hist(bins=50)
plt.show() #this only in Pycharm not in Jupyter.

在 Pycharm 中,代码运行良好。但是在 Jupyter Notebook 中却报错:

希望有人能帮我解决这个问题

【问题讨论】:

  • 您确定您的Jupyter Notebook 环境中有matplotlib 模块吗?
  • @arnold 我很确定我做到了,因为我用于 Jupyter 和 Pycharm 的模块位于同一位置。并且相同的代码在 Pycharm 中工作,所以我认为 Module 没有任何问题。
  • 投票结束。你把pyplot 拼错为pyploty

标签: python matplotlib pip jupyter-notebook


【解决方案1】:

如果您使用 Anaconda CMD,请使用此命令,

conda install matplotlib 

如果您使用的是普通 CMD,则使用命令,

pip install matplotlib

pip3 install matplotlib

【讨论】:

    【解决方案2】:

    这段代码对我有用

    %pip install matplotlib-inline
    

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题并找到了解决方案! Matplotlib 安装在我拥有的另一个 python 安装上。

      将以下sn-p放入一个单元格并执行它,你应该很高兴:

      import sys
      !{sys.executable} -m pip install matplotlib
      

      【讨论】:

      • 我应该在哪里添加这些行?
      • @AniceJahanjoo 在笔记本的任意位置打开一个新单元格并执行此代码。之后可以删除单元格
      【解决方案4】:

      如果您在 anaconda 中使用 jupyter notebook,则应将 matplotlib 安装到环境中。

      转到环境->您正在使用的环境->将下拉列表更改为未安装->搜索matplotlib,然后安装

      【讨论】:

        【解决方案5】:

        这表明 ma​​tplotlib lib/module 没有安装。因此,您所要做的就是通过在引用 matplotlib 之前的单元格中运行以下代码来安装此模块:

        !pip install matplotlib
        

        希望对你有帮助!

        【讨论】:

        • 这是问题的准确答案,也是最简单的,因为您是在笔记本上完成的。不需要获取终端
        【解决方案6】:

        您不需要像这里的其他答案所建议的那样使用%matplotlib inline。这是可选的,不使用它不应阻止导入 pyplot。

        什么应该起作用:

        您可以决定使用%matplotlib inline,在这种情况下您不必致电plt.show()

        您也可以使用%matplotlib notebook,它会为您提供交互式情节。

        最后,您可以使用%matplotlib tk 来获得像在 PyCharm 中一样的窗口图形。

        所有这些选项都需要导入matplotlib.pyplot。单独导入matplotlib 没有帮助。另外,如果您遇到任何问题,请先启动一个新内核(不要在笔记本的第 27 行尝试新的东西)。

        【讨论】:

        • 我更新了我的问题,你能看看并告诉我哪里出错了。谢谢
        • 我用一张图片更新了答案。这够清楚了吗?
        • 您好,很抱歉打错字,但拼写正确时,问题中的原始图像仍然存在相同的错误。我意识到我的 miniconda\site-packages 和默认的 python36\site-packages 文件夹中都有 matplotlib 包,我尝试卸载 python36\site-packages 中的那个,ModuleNotFound 错误消失了。谢谢。
        • @Noob。您是否使用conda install matplotlib 安装了matplotlib?
        【解决方案7】:

        在你的代码顶部添加%matplotlib inline,它使matplotlib以交互方式执行

        【讨论】:

        • 嗨,我听从了你的建议,在最上面的单元格上添加了一行,它就可以工作了。我想知道在 Pycharm 中我必须写 import matplotlib.pyplot as plt 时我可以做 import matplotlib as plt 有什么区别?我尝试在 Pycharm 中使用 import matplotlib as plt 但它不起作用
        • Jupiter 以交互方式工作,与在终端、python 或 ipython 中键入时相同,它使 python shell 等待另一个命令,该部分的关键部分是符号 %,这称为魔术函数。它允许您访问其他命令或其他 python 脚本,并将结果保留在 shell 中。例如,如果您有一个脚本 tmy.py 定义了一些变量,您可以使用 %python 运行它my.py ,如果该文件中定义了任何变量,您可以在 jupiter 中访问它,或者我没有使用 pycharm 但我想您没有以交互方式运行程序
        猜你喜欢
        • 1970-01-01
        • 2019-03-28
        • 1970-01-01
        • 2022-01-07
        • 2019-08-05
        • 2017-12-14
        • 2020-12-10
        • 2021-09-02
        相关资源
        最近更新 更多