导入matplotlib.pyplot会出现AttributeError: 'NoneType' object has no attribute 'is_interactive'错误。

5
我尝试在Pycharm控制台中导入matplotlib.pyplt。
import matplotlib.pyplot as plt

然后我得到的回报是:
Traceback (most recent call last):
  File "D:\Program Files\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2881, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-5-eff513f636fd>", line 1, in <module>
    import matplotlib.pyplot as plt
  File "D:\Program Files\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "D:\Program Files\Anaconda2\lib\site-packages\matplotlib\pyplot.py", line 2512, in <module>
    install_repl_displayhook()
  File "D:\Program Files\Anaconda2\lib\site-packages\matplotlib\pyplot.py", line 165, in install_repl_displayhook
    ip.enable_gui(ipython_gui_name)
  File "D:\Program Files\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)
UsageError: Invalid GUI request 'qt5', valid ones are:['pyglet', 'osx', 'none', 'gtk3', 'tk', 'qt', 'glut', 'gtk', 'qt4', 'wx']
Traceback (most recent call last):
  File "D:\Program Files\Anaconda2\lib\site-packages\IPython\core\events.py", line 74, in trigger
    func(*args, **kwargs)
  File "D:\Program Files\Anaconda2\lib\site-packages\matplotlib\pyplot.py", line 147, in post_execute
    if matplotlib.is_interactive():
AttributeError: 'NoneType' object has no attribute 'is_interactive'
Error in callback <function post_execute at 0x0000000008AAD438> (for post_execute):

我的 Python 版本:

Python 2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jun 29 2016, 11:07:13) [MSC v.1500 64 bit (AMD64)] on win32

但是当我在IPython中尝试导入matplotlib时,它可以正常工作。那么我的Pycharm控制台有什么问题吗?


我有完全相同的问题。应用程序、版本号完全相同,几乎相同的错误。不幸的是,我也没有解决方案。 - HeinzKurt
@Chao 到目前为止有什么进展吗? - Shivendra
1
import matplotlib as mplmpl.use('TkAgg')import matplotlib.pyplot as plt,它可以正常工作。 - Chao
2个回答

3

0

我实际上遇到了相反的问题,即启动Ipython时出现相同的错误(matplotlib.is_interactive())

我的Ipython启动设置(~/.ipython/profile_default/startup/start.ipy)中有%pylab inline,这导致了问题,删除它后问题得到解决。这是在更新Ipython和Anaconda版本后开始发生的。

我的想法是你可能也遇到了类似的问题。也许设置一个类似的启动脚本来执行@Chao提供的代码的相反操作可能会起作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接