当我使用 matplotlib.pyplot 时,python 3.6 中没有名为 PyQt4 的模块

No module named PyQt4 in python 3.6 when I use matplotlib.pyplot

当我在任何 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.

对于 python 3.6(因为我的电脑里有它),你转到命令行,然后输入:

conda 安装-c anaconda pyqt=5.6.0

如果您不确定 python 和 pyqt 版本。然后输入:

conda 信息 pyqt

这将输出相关的pyqt版本。因此,您可以检查您的 pyqt 版本并从首先提到的命令安装。

您需要在相关环境的命令行从PyQt5降级到PyQt4:

conda install pyqt=4

这也会降级其他软件包。如果在使用 Python 3.6.

时会导致其他问题,您可能需要考虑使用 PyQt5

此外,Continuum 不支持此版本 Python 3.6+。请查看 this GitHub page 进行确认。

一个命令救了我:

conda update ipython