我已经安装了 Pycharm 并使用 Anaconda 3 作为我的解释器。我无法导入 Matplotlib(或 Seaborn)。当我运行“import matplotlib.pyplot as plt”时,我得到以下信息:–
import matplotlib.pyplot as plt
后端 Qt5Agg 是交互式后端。打开交互模式。
追溯(最近一次通话):
文件“C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\pydev_ipython\inputhook.py”,第 502 行,在 enable_gui gui_hook = guis[gui] KeyError: ‘qt5’
在处理上述异常的过程中,又出现了一个异常:
追溯(最近调用最后):文件“C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev_pydev_bundle\pydev_ipython_console_011.py”,第 123 行,在 enable_gui 中返回 real_enable_gui(gui, app) 文件“C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\pydev_ipython\inputhook.py”,第 508 行,在 enable_gui 中引发 ValueError(e) ValueError:无效的 GUI 请求 ‘qt5’,有效一个是:dict_keys([‘osx’, ‘gtk’, ‘qt4’, ‘qt’, ‘gtk3’, ‘glut’, ‘pyglet’, ‘wx’, ‘none’, ‘tk’])
在处理上述异常的过程中,又出现了一个异常:
追溯(最近调用最后):文件“C:\Program Files\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py”,第 2881 行,在 run_code exec(code_obj, self.user_global_ns, self.user_ns)文件“”,第 1 行,在 import matplotlib.pyplot as plt 文件“C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev_pydev_bundle\pydev_import_hook.py”,第 21 行,在 do_import 模块 = self._system_import(name, *args, **kwargs) 文件“C:\ \Anaconda3\lib\site-packages\matplotlib\pyplot.py”,第 165 行,install_repl_displayhook ip.enable_gui(ipython_gui_name) File “C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev_pydev_bundle \pydev_ipython_console_011.py”, line 125, in enable_gui raise UsageError(“%s” % e) IPython.core.error.UsageError: Invalid GUI request ‘qt5’, 有效的是:dict_keys([‘osx’, ‘gtk’ , ‘qt4’, ‘qt’, ‘gt k3’, ‘过剩’, ‘pyglet’, ‘wx’, ‘无’, ‘tk’])
原文由 Mehwish 发布,翻译遵循 CC BY-SA 4.0 许可协议
我刚刚偶然发现了同样的问题,并找到了一种轻松解决它的方法。我无法让它与 Qt5 一起工作,所以我将后端切换到 TkAgg。
首先,这是非常可选的,我更新
matplotlib
通过conda update matplotlib
。我这样做是为了确保包含后端 TkAgg(但是,它已于 2014 年在 conda 中添加,所以……)。然后我更改了位于
matplotlibrc
文件中的后端指令C:\Anaconda3\pkgs\matplotlib-2.0.2-np113py35_0\Lib\site-packages\matplotlib\mpl-data\
如果您使用的是 Anaconda3。在 Pycharm 的设置 -> 项目解释器中检查
matplotlib
和numpy
的版本,以确保您正在修改正确的文件。在我的例子matplotlib 2.0.2
和numpy 1.13
。用编辑器打开这个
matplotlibrc
文件,将第 30 行左右的后端指令(原来是Qt5Agg
)更改为TkAgg
然后保存,重新启动 PyCharm,你的
import matplotlib.pyplot as plt
应该可以工作了。您应该看到后端在启动时已更改,如显示:Backend TkAgg is interactive backend. Turning interactive mode on.
(适用于 Python 3.5.2、Anaconda 4.2.0(64 位))
(也适用于 Python 3.6.2、Anaconda 5.5.0(64 位))