%matplotlib qt不

2024-04-26 01:12:43 发布

您现在位置:Python中文网/ 问答频道 /正文

Python 2.7.12 |Anaconda 4.2.0 (64-bit)| Spyder 3.0.1| IPython 5.1.0(在Windows上运行)

在新窗口中请求绘图时,通过:

%matplotlib qt

我得到一个错误:

Traceback (most recent call last):

  File "<ipython-input-2-6ad73d0e50c7>", line 1, in <module>
    get_ipython().magic(u'matplotlib qt')

  File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2158, in magic
    return self.run_line_magic(magic_name, magic_arg_s)

  File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2079, in run_line_magic
    result = fn(*args,**kwargs)

  File "<decorator-gen-105>", line 2, in matplotlib

  File "C:\Anaconda2\lib\site-packages\IPython\core\magic.py", line 188, in <lambda>
    call = lambda f, *a, **k: f(*a, **k)

  File "C:\Anaconda2\lib\site-packages\IPython\core\magics\pylab.py", line 100, in matplotlib
    gui, backend = self.shell.enable_matplotlib(args.gui)

  File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2947, in enable_matplotlib
    pt.activate_matplotlib(backend)

  File "C:\Anaconda2\lib\site-packages\IPython\core\pylabtools.py", line 295, in activate_matplotlib
    matplotlib.pyplot.switch_backend(backend)

  File "C:\Anaconda2\lib\site-packages\matplotlib\pyplot.py", line 232, in switch_backend
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()

  File "C:\Anaconda2\lib\site-packages\matplotlib\backends\__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)

  File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt4agg.py", line 18, in <module>
    from .backend_qt5agg import FigureCanvasQTAggBase as _FigureCanvasQTAggBase

  File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 16, in <module>
    from .backend_qt5 import QtCore

  File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt5.py", line 31, in <module>
    from .qt_compat import QtCore, QtGui, QtWidgets, _getSaveFileName, __version__

  File "C:\Anaconda2\lib\site-packages\matplotlib\backends\qt_compat.py", line 137, in <module>
    from PyQt4 import QtCore, QtGui

ImportError: No module named PyQt4

Tags: inpycorebackendmatplotliblibpackagesmagic
3条回答

通过将matplotlib版本从matplotlib-1.5.3升级到matplotlib-2.2.2,我已经解决了这个问题

pip install matplotlib --upgrade

我认为您的问题是由于QT_API环境变量仍然设置为pyqt4(或pyside)引起的。例如,通过在Python提示符中键入import os; print(os.environ.get('QT_API'))来检查这一点。

如果是这种情况,则需要将其删除或设置为pyqt5。如果你不知道如何在Windows下设置一个环境变量。

我使用import os;print(os.environ.get('QT_API'),然后得到pyqt5。然后,我转到“工具”->;“首选项”->;“Ipython控制台”->;“图形”并选择了“后端Qt5”,在重新启动spyder后,问题解决了。谢谢!!!!

相关问题 更多 >