我有一個使用plt.show()
作爲最後指令的python腳本。運行時,IDLE會在最後一條指令後掛起。我得到的圖像,但我沒有得到及時的迴應。如何在IDLE中停止Python程序執行
在其他腳本中,我通常使用ctrl-c
來破壞程序(有時不能立即運行),但是如何獲得plt.show()
的提示? Ctrl-c
不起作用...
是否有其他方法可以停止該程序?
這是Windows上的IDLE,如果它有任何區別。
我有一個使用plt.show()
作爲最後指令的python腳本。運行時,IDLE會在最後一條指令後掛起。我得到的圖像,但我沒有得到及時的迴應。如何在IDLE中停止Python程序執行
在其他腳本中,我通常使用ctrl-c
來破壞程序(有時不能立即運行),但是如何獲得plt.show()
的提示? Ctrl-c
不起作用...
是否有其他方法可以停止該程序?
這是Windows上的IDLE,如果它有任何區別。
我在Windows上使用它們時發現了IDLE和matplotlib的問題。我不知道確切的原因,但幾次Ctrl-c通常適用於我。如果這不適合你,你可以使用普通的解釋器,而不是將你的圖直接寫入文件而不是屏幕。
這是IDLE不像普通Python腳本或解釋器會話那樣(充裕)時間之一。正因爲如此,我通常避免空閒。
你用什麼來代替? – greye 2010-03-17 07:16:31
不幸的是,Windows上的選項並不好。我直接使用交互式解釋器(儘管cmd.exe並不完美),並從gvim調用Python來運行腳本。任何數量的編輯器和IDE都可以直接調用Python,其中很多編輯器和列表都在http://wiki.python.org/moin/IntegratedDevelopmentEnvironments上列出。 iPython可能會遇到一些與IDLE相同的問題,但我懷疑它會讓matplotlib工作(我從來沒有使用它,所以我不能保證這麼做)。 – 2010-03-17 07:39:42
當您使用plt.show()
時,python子進程會進入GUI工具箱的事件循環並阻塞,直到事件循環退出。當它退出時,你會收到提示。
如果您使用的是TkAgg後端,您需要在按下Ctrl + C後將鼠標移動到數字上。這將導致事件循環停止。 (Tkinter有它的怪癖)
或者,IdleX使用EventLoop.py擴展提供了帶有IDLE的Matplotlib支持。您可以在不使用plt.show()
的情況下顯示數字並與其交互。在生成數字之前,請務必設置plt.interactive(True)
。
按Ctrl + F6 (重啓殼)
或殼 - >重新啓動殼牌
我在樹冠Python編輯過同樣的問題,我是能夠與CTRL+.
( 「點」 按鈕中斷的Python會話)。希望有所幫助,或者他們可能以類似的方式做事
一些選項在這裏:http://stackoverflow.com/questions/1219394/ – bernie 2010-03-17 07:12:26
'Ctrl + Pause | Break'? – 2010-03-17 08:05:09