本文介绍了Spyder使用Tkinter后端策划无响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Spyder 4下(以及使用3降级后)绘制不起作用。我只是在做:
data=[1,2,3]
plt.plot(data)
An error ocurred while starting the kernel
RROR:tornado.application:Exception in callback functools.partial(.advance_eventloop at 0x000001A802791318>)
Traceback (most recent call last):
File "pathanaconda3libsite‑packages ornadoioloop.py", line 743, in _run_callback
ret = callback()
File "pathanaconda3libsite‑packagesipykernelkernelbase.py", line 310, in advance_eventloop
eventloop(self)
File "pathanaconda3libsite‑packagesipykerneleventloops.py", line 232, in loop_tk
app.tk.createfilehandler(stream.getsockopt(zmq.FD), READABLE, notifier)
AttributeError: '_tkinter.tkapp' object has no attribute 'createfilehandler'
(其中替换为路径)知道为什么吗?
(如果相关,我使用的是Windows、python3)
编辑
单独添加plt.show()不会对输出(仍然是空白框架)产生影响,但是感谢Neven V.和我添加的其他任务root = tk.Tk()
def on_closing():
if messagebox.askokcancel("Quit", "Do you want to quit?"):
root.destroy()
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
然后我看到了帧正在响应的曲线图。但点击Quit后,进程没有退出,我必须重新启动内核(主循环正在停止它,但如果没有它,我得到的结果是:无绘图),因此我尝试:
plt.show(block=False)
plt.pause(0.001) # Pause for interval seconds.
input("hit[enter] to end.")
plt.close('all') # all open plots are correctly closed after each run
并看到一个绘图,但在按Enter后也没有响应。
推荐答案
我在Spyder(IPython7.15.0)中使用的是独立的Python3.8.3,但当我恢复到Conda安装(Python3.6.8,IPython7.6.0)时,它被解决了。不过,我不确定这是否有帮助!
这篇关于Spyder使用Tkinter后端策划无响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!