当我使用 matplotlib.pyplot 时,python 3.6 中没有名为 PyQt4 的模块
Posted
技术标签:
【中文标题】当我使用 matplotlib.pyplot 时,python 3.6 中没有名为 PyQt4 的模块【英文标题】:No module named PyQt4 in python 3.6 when I use matplotlib.pyplot 【发布时间】:2017-09-18 14:28:49 【问题描述】:当我在任何 python 3.6 程序中导入 matplotlib.pyplot
时,我收到以下错误:
$ python kernel1.py
Traceback (most recent call last):
File "kernel1.py", line 13, in <module>
import matplotlib.pyplot as plt
File "/home/atul/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py", line 115, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/home/atul/anaconda3/lib/python3.6/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/home/atul/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5agg.py", line 16, in <module>
from .backend_qt5 import QtCore
File "/home/atul/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py", line 26, in <module>
import matplotlib.backends.qt_editor.figureoptions as figureoptions
File "/home/atul/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 20, in <module>
import matplotlib.backends.qt_editor.formlayout as formlayout
File "/home/atul/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_editor/formlayout.py", line 56, in <module>
from matplotlib.backends.qt_compat import QtGui, QtWidgets, QtCore
File "/home/atul/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_compat.py", line 137, in <module>
from PyQt4 import QtCore, QtGui
ModuleNotFoundError: No module named 'PyQt4'
但是,如果我使用 python 3.5,matplotlib.pyplot
可以完美运行。
我尝试过使用sudo apt-get install python-qt4
。我仍然得到同样的错误。
我使用的是 Ubuntu 16.04。
【问题讨论】:
从错误信息中我看到你使用的是anaconda所以用apt-get安装pyqt4不起作用,你必须使用anaconda来安装pyqt4 阅读:***.com/questions/21637922/… 【参考方案1】:你需要在相关环境的命令行中从PyQt5降级到PyQt4:
conda install pyqt=4
这也会降级其他软件包。如果这会在使用 Python 3.6 时给您带来其他问题,您可能需要考虑使用 PyQt5。
此外,Continuum 不支持 Python 3.6+ 的此版本。请查看this GitHub page 进行确认。
【讨论】:
【参考方案2】:对于python 3.6(因为我的电脑里有这个),你去命令行,然后输入:
conda install -c anaconda pyqt=5.6.0
如果您不确定 python 和 pyqt 版本。然后输入:
conda info pyqt
这将输出相关的pyqt版本。因此,您可以检查您的 pyqt 版本并从首先提到的命令安装。
【讨论】:
安装后,我收到以下错误:$ python Python 3.6.0 |Continuum Analytics, Inc.| (默认,2016 年 12 月 23 日,12:22:00)[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] 在 linux 上键入“帮助”、“版权”、“信用”或“许可证”以获取更多信息. >>> import matplotlib.pyplot as plt [1] 5177 分段错误(核心转储)python【参考方案3】:一个命令救了我:
conda update ipython
【讨论】:
以上是关于当我使用 matplotlib.pyplot 时,python 3.6 中没有名为 PyQt4 的模块的主要内容,如果未能解决你的问题,请参考以下文章
无法在 virtualenv 中“将 matplotlib.pyplot 作为 plt 导入”
matplotlib pyplot imshow 图像之间的紧密间距
导入 matplotlib.pyplot 时嵌入式 python 崩溃
matplotlib pyplot 不绘图。找不到模块失败 python3-tk