我有一个 python 脚本,它plt.show()
作为最后一条指令使用。当它运行时,IDLE 只是在最后一条指令之后挂起。我得到了图像,但我没有得到提示。
在我通常ctrl-c
用来中断程序的其他脚本上(有时不能立即工作),但我如何用plt.show()
? Ctrl-c
不工作...
还有其他方法可以停止程序吗?
这是 Windows 上的 IDLE,如果它有什么不同的话。
我有一个 python 脚本,它plt.show()
作为最后一条指令使用。当它运行时,IDLE 只是在最后一条指令之后挂起。我得到了图像,但我没有得到提示。
在我通常ctrl-c
用来中断程序的其他脚本上(有时不能立即工作),但我如何用plt.show()
? Ctrl-c
不工作...
还有其他方法可以停止程序吗?
这是 Windows 上的 IDLE,如果它有什么不同的话。
在 Windows 上使用 IDLE 和 matplotlib 时,我已经看到了这个问题。我不知道确切的原因,但是 Ctrl-c 几次通常对我有用。如果这对您不起作用,您可以使用普通解释器而不是将绘图直接写入文件而不是屏幕。
这是 IDLE 的行为不像普通的 Python 脚本或解释器会话的那些(大量)时间之一。因此,我通常避免 IDLE。
Ctrl+F6(重启外壳)
或Shell->重启Shell
使用plt.show()
时,python 子进程进入 GUI 工具包的事件循环并阻塞,直到事件循环退出。当它退出时,你会得到提示。
如果您使用的是 TkAgg 后端,则需要在按下 Ctrl+C 后将鼠标移到图形上。这将导致事件循环停止。(Tkinter 有它的怪癖)
或者,IdleX使用 EventLoop.py 扩展为 IDLE 提供 Matplotlib 支持。您可以在不使用plt.show()
. 请务必plt.interactive(True)
在生成数字之前进行设置。
我在 Canopy Python 编辑器中遇到了同样的问题,我能够使用CTRL+.
(“点”按钮)中断 python 会话。希望有帮助,或者他们可能以类似的方式做事