没有名为“matplotlib.pyplot”的模块; “matplotlib”不是一个包

Posted

技术标签:

【中文标题】没有名为“matplotlib.pyplot”的模块; “matplotlib”不是一个包【英文标题】:No module named 'matplotlib.pyplot'; 'matplotlib' is not a package 【发布时间】:2017-05-13 05:04:57 【问题描述】:

找到了similar issue,但还没有找到合适的解决方案。

代码如下:

import matplotlib.pyplot as plt
plt.plot([1,2,3],[4,2,5])
plt.show()

运行,得到消息:

ImportError: 没有名为“matplotlib.pyplot”的模块; 'matplotlib' 不是一个包

我运行 Linux Mint 18 并预装了 python-2.7 和 python-3.5(我使用 python3),在此之前我使用简单的sudo apt-get install 方法安装模块,效果很好。

在运行上面的代码之前,我已经以通常的方式安装了 matplotlib sudo apt-get install python-matplotlib。由于还没有解决,开始寻找解决方案。

Python 位置

which python3 /usr/bin/python3

当前安装的 Matplotlib

sudo find /usr | grep matplotlib /usr/lib/python3/dist-packages/matplotlib

我的尝试:

1) 我用autoremove 删除了matplotlib,并尝试改用sudo apt-get install python3-matplotlib。没有成功。

2) 已使用:pip3 install matplotlibsudo pip3 install matplotlib。收到如下错误:

命令 python setup.py egg_info 失败,错误代码 1 在 /tmp/pip-build- ....

3)然后我找到了另一个解决方案:

sudo apt-get install virtualenv
virtualenv -p /usr/bin/python3 py3env
source py3env/bin/activate
pip install matplotlib

同样的结果。

没有尝试使用import sys sys.path.append('/usr/lib/pymodules/python2.7/')(在上面的链接中提出),但我不确定这个命令到底是做什么的(对python和编程本身来说是个新手)——没有冒险。

【问题讨论】:

在你的virtualenv中,当你做pip install matplotlib时,你得到一个错误,还是安装成功?在 Ubuntu 14.04 上,我能够使用 Python 2 和 Python 3 的 try #3 示例进行安装和导入 检查当前目录是否有文件名matplotlib.py 我认为 Mike Muller 有它——如果你碰巧将你正在运行的脚本命名为“matplotlib”(就像我刚才所做的那样),你会看到这个错误。只需将您的脚本重命名为其他任何内容,它应该可以正常工作。 【参考方案1】:

如果您使用 pycharm 并且在当前工作目录中有 matplotlib.py,那么您会收到此错误。只需删除或重命名 matplotlib.py 文件即可。

【讨论】:

差不多 5 年后它仍然是一件事......【参考方案2】:

在你的工作目录中,检查是否有任何文件 matplotlib.py 删除该文件并再次导入 matplotib。应该可以的。

【讨论】:

【参考方案3】:

不要在工作目录中将任何文件命名为 matplotlib.py

【讨论】:

【参考方案4】:

只需安装:

python -m pip install -U pip
python -m pip install -U matplotlib

【讨论】:

【参考方案5】:

在我的情况下,我遇到了同样的问题原因是

    我下载的带有 matplotlib 的 python 3.8.2 适用于 3.7。确保它们相同。

    python 64 位版本与 matplotlib 32 位。确保它们相同

    使用python -m pip install package_which_you_need 为 Windows 安装软件包

    确保将我忘记做的环境变量添加到 PATH

    pip 版本是旧的使用 使用python -m pip install --upgrade pip 将 pip 升级到 Windows 的最新版本

    我将文件名保存为 matplotlib.py。尽量避免这种情况

    最后我将matplotlib.pyplot 输入为matplotlib.plyplot,记得先检查是否有错别字。即使我更正了上述所有步骤,错误消息看起来也很相似。

    ModuleNotFoundError: 没有名为“matplotlib.pyplot”的模块

    ModuleNotFoundError: 没有名为“matplotlib.plyplot”的模块

【讨论】:

以上是关于没有名为“matplotlib.pyplot”的模块; “matplotlib”不是一个包的主要内容,如果未能解决你的问题,请参考以下文章

matplotlib.pyplot 在 python 2.7 上给出错误“ImportError:没有名为 Tkinter 的模块”

matplotlib - Blender python中没有名为tkinter的模块

matplotlib.pyplot 没有属性“get_data_path”

gwpy 包给出错误 - AttributeError:模块“matplotlib.pyplot”在 Google Colab 中没有属性“FigureManagerBase”

服务器上使用matplotlib.pyplot绘图

如何将货币格式添加到 matplotlib.pyplot.text? [复制]