当我在任何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。
答案 0 :(得分:2)
您需要在相关环境中的命令行从PyQt5降级到PyQt4:
conda install pyqt=4
这也会降级其他软件包。您可能需要考虑使用PyQt5,如果在使用Python 3.6时会导致其他问题。
此外,Continuum不支持Python 3.6+的此版本。请参阅this GitHub page进行确认。
答案 1 :(得分:1)
对于python 3.6(因为我在我的计算机中有这个),你转到命令行,然后输入:
conda install -c anaconda pyqt = 5.6.0
如果你不确定python和pyqt版本。然后输入:
conda info pyqt
这将输出相关的pyqt版本。因此,您可以检查您的pyqt版本并首先从提到的命令安装。
答案 2 :(得分:0)
一个命令救了我:
conda update ipython