PyCharm中导入matplotlib时报错:“Backend Qt5Agg is interactive backend”的解决方案
PyCharm中导入matplotlib时报错:“Backend Qt5Agg is interactive backend”的解决方案
在使用PyCharm时,在PyCharm的Python Console中 import matplotlib.pyplot as plt
时,会出现Backend Qt5Agg is interactive backend. Turning interactive mode on.
或者其他跟Qt5Agg相关的错误,导致程序中断。
虽然现在还不得而知Qt5Agg的问题如何解决,但是一种可以绕过这种问题(我的环境是:PyCharm 2017.2.3、PyQt5 5.9、 PyQt4 4.11.4、matplotlib 2.1.0、 ipython 5.3.0、Anaconda3、Python 3.6.0 )。
首先可以简单的更新一下自己的环境的库,比如matplotlib,确保是的自己的matplotlib中含有TkAgg。使用命令
conda update matplotlib
修改
matplotlibrc
文件。该文件的位置在C:\ProgramData\Anaconda3\pkgs\matplotlib-2.1.0-py36h11b4b9c_0\Lib\site-packages
。打开该文件后,在大概30行的地方会看到如下的文本。将Qt5Agg
修改为TkAgg
,并保存。
# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
# Template.
# You can also deploy your own backend outside of matplotlib by
# referring to the module name (which must be in the PYTHONPATH) as
# 'module://my_backend'.
#
# If you omit this parameter, it will always default to "Agg", which is a
# non-interactive backend.
# backend : Qt5Agg # original
backend : TkAgg # new
如果想在
import matplotlib.pylab as plt
时,不出现Backend Qt5Agg is interactive backend. Turning interactive mode on.
,可以修改上述文件中大致73行,将#interactive : False
修改为interactive : True
保存即可。重启PyCharm,再次
import matplotlib.pylab as plt
时,不会再报错。