没有名为“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 matplotlib
或 sudo 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”