Pycharm - 导入 Matplotlib

新手上路,请多包涵

我已经安装了 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 许可协议

阅读 617
1 个回答

我刚刚偶然发现了同样的问题,并找到了一种轻松解决它的方法。我无法让它与 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 的设置 -> 项目解释器中检查 matplotlibnumpy 的版本,以确保您正在修改正确的文件。在我的例子 matplotlib 2.0.2numpy 1.13

用编辑器打开这个 matplotlibrc 文件,将第 30 行左右的后端指令(原来是 Qt5Agg )更改为 TkAgg

 #### CONFIGURATION BEGINS HERE

# 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'.
backend      : TkAgg  # HERE!!!

然后保存,重新启动 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 位))

原文由 Eskapp 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题