11

我有一个 python 脚本,它plt.show()作为最后一条指令使用。当它运行时,IDLE 只是在最后一条指令之后挂起。我得到了图像,但我没有得到提示。

在我通常ctrl-c用来中断程序的其他脚本上(有时不能立即工作),但我如何用plt.show()? Ctrl-c不工作...

还有其他方法可以停止程序吗?

这是 Windows 上的 IDLE,如果它有什么不同的话。

4

4 回答 4

7

在 Windows 上使用 IDLE 和 matplotlib 时,我已经看到了这个问题。我不知道确切的原因,但是 Ctrl-c 几次通常对我有用。如果这对您不起作用,您可以使用普通解释器而不是将绘图直接写入文件而不是屏幕。

这是 IDLE 的行为不像普通的 Python 脚本或解释器会话的那些(大量)时间之一。因此,我通常避免 IDLE。

于 2010-03-17T07:13:55.187 回答
7

Ctrl+F6(重启外壳)

或Shell->重启Shell

于 2013-12-16T16:17:57.470 回答
2

使用plt.show()时,python 子进程进入 GUI 工具包的事件循环并阻塞,直到事件循环退出。当它退出时,你会得到提示。

如果您使用的是 TkAgg 后端,则需要在按下 Ctrl+C 后将鼠标移到图形上。这将导致事件循环停止。(Tkinter 有它的怪癖)

或者,IdleX使用 EventLoop.py 扩展为 IDLE 提供 Matplotlib 支持。您可以在不使用plt.show(). 请务必plt.interactive(True)在生成数字之前进行设置。

于 2011-11-23T00:01:23.637 回答
2

我在 Canopy Python 编辑器中遇到了同样的问题,我能够使用CTRL+.(“点”按钮)中断 python 会话。希望有帮助,或者他们可能以类似的方式做事

于 2015-07-01T02:50:56.883 回答