Python Matplotlib退出错误

Python Matplotlib退出错误,python,matplotlib,Python,Matplotlib,考虑以下简单的python代码: import matplotlib.pyplot as mplot mplot.plot([1,2,3,4],[1,2,3,4]) 当脚本运行时,该脚本没有问题,但是如果我关闭python控制台(通过单击红色的x),则会出现以下错误: Fatal Python error: PyEval_RrestoreThread: NULL tstate can't invoke "event" command: application has been destro

考虑以下简单的python代码:

import matplotlib.pyplot as mplot 
mplot.plot([1,2,3,4],[1,2,3,4])
当脚本运行时,该脚本没有问题,但是如果我关闭python控制台(通过单击红色的x),则会出现以下错误:

Fatal Python error: PyEval_RrestoreThread: NULL tstate
can't invoke "event" command: application has been destroyed while executing 
"event generate $w <<ThemeChanged>>"
(procedure "ttk::ThemeChanged" line 6)
invoke from within
"ttk::ThemeChanged"
如果使用ctrl+Z退出python控制台,则不会出现此问题。 在我看来,如果我以第一种方式存在的话,似乎有一些挂起的过程没有被正确终止。我尝试添加

mplot.close('all')
到脚本末尾,但我得到以下结果错误:

Fatal Python error: PyEval_RrestoreThread: NULL tstate
can't invoke "event" command: application has been destroyed while executing 
"event generate $w <<ThemeChanged>>"
(procedure "ttk::ThemeChanged" line 6)
invoke from within
"ttk::ThemeChanged"
无法调用“事件”命令:应用程序在执行时已被销毁
“事件生成$w”
(程序“ttk::ThemeChanged”第6行)
从内部调用
“ttk::ThemeChanged”
我正在运行Python 3.3 x86。 有人能帮我理解这个问题吗


谢谢

问题在于,标准Python解释器的构建不具备处理图形用户界面的知识。没有详细说明,matplotlib似乎试图关闭一个不存在的线程

这里有一个关于原因的解释,以及关于解决办法的讨论


最简单的答案是使用IPython,正如参考文献所解释的,它是matplotlib感知的。如果这不是一个选项,您可能必须深入挖掘。

简短回答:确保您调用
plt.close('all')


我今天也有同样的问题。在边缘情况下,代码将决定不生成图形并提前退出函数,而不调用
plt.close('all')
(其中
plt
来自
import matplotlib.pyplot as plt


我通过在edge case中添加
plt.close('all')
很快解决了这个问题。

这发生在我身上。张贴的答案都没有解决这个问题。我忽略了此消息,一切正常。

什么版本的mpl和什么操作系统?mpl-1.2.0.win32-py3.3和Windows 7非常感谢!这是一个很好的资源。谢谢holdenweb。我有一个类似的问题:当从命令行scirpt使用Tkinter GUI调用plt.close()时,我会得到
无法调用'event'命令。我从下载了,将它放在我的脚本文件夹中,并更改了
interactive:True
之后错误就消失了!