最近在写python web,因为要和TensorFlow结合,就出现了一个很匪夷所思的问题,
Traceback (most recent call last):
File "/home/pi/Code-working-library/stackoverflow-paste.py", line 140, in <module>
app.equipTemp.set(tempread)
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 203, in set
return self._tk.globalsetvar(self._name, value)
RuntimeError: main thread is not in main loop
在StackOverflow查询之后,大多是python Django多线程的问题,说实话刚接触看不懂….
在多次调试之后,发现:
Django连续两次调用A程序不会出现问题,但是Django连续调用两次B程序就会出现上面的问题。我详细对比了两个程序的查询,发现B程序比A程序多出一段关于Matplotlib代码。所以就把问题锁定到Matplotlib上来了!
查询Matplotlib有关问题发现,Matplotlib的默认backend是TkAgg,如果改为agg就不会报错,具体原因还不知道。具体做法就是在使用Matplotlib的文件头部增加:
import matplotlib.pyplot as plt
plt.switch_backend('agg')
python 版本 3.6
Django本包 2.0.5
希望遇到此问题的能及时解决!
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务