默认情况下,matplotlib使用TK gui工具包,当您在不使用工具包渲染图像的情况下(例如,转换为文件或字符串),matplotlib仍会实例化未显示的窗口,从而导致各种问题。为了避免这种情况,您应该使用Agg后端。可以这样激活-
import matplotlib matplotlib.use('Agg') from matplotlib import pyplot
@H_403_5@欲了解更多信息,请参阅matplotlib文件- http://matplotlib.org/faq/howto_faq.html#matplotlib- in-a-web-application- server
解决方法
我问这个问题是因为我无法解决
Python/Django
导致的一个问题(实际上在纯Python中就可以了)RuntimeError: tcl_asyncdelete async handler deleted by the wrong thread
。这在某种程度上与我matplotlib
在Django中渲染图的方式有关。我这样做的方式是:... import matplotlib.pyplot as plt ... fig = plt.figure() ... plt.close()
我极大地减少了代码。但是要注意的是-即使我只有一行代码:
fig = plt.figure()
我看到此RuntimeError发生了。我希望我能解决这个问题,如果我知道在Python / Django中关闭/清理/销毁图表的正确方法。
...
import matplotlib.pyplot as plt
...
fig = plt.figure()
...
plt.close()
fig = plt.figure()
欲了解更多信息,请参阅matplotlib文件- http://matplotlib.org/faq/howto_faq.html#matplotlib- in-a-web-application- server
我问这个问题是因为我无法解决Python/Django
导致的一个问题(实际上在纯Python中就可以了)RuntimeError:
tcl_asyncdelete async handler deleted by the wrong
thread
。这在某种程度上与我matplotlib
在Django中渲染图的方式有关。我这样做的方式是:
我极大地减少了代码。但是要注意的是-即使我只有一行代码:
我看到此RuntimeError发生了。我希望我能解决这个问题,如果我知道在Python / Django中关闭/清理/销毁图表的正确方法。
欲了解更多信息,请参阅matplotlib文件- http://matplotlib.org/faq/howto_faq.html#matplotlib- in-a-web-application- server