2014-09-19 50 views
4

我正在使用WinPython。當我使用命令exit()創建新腳本並在那裏運行它時,該命令殺死內核:如何在Spyder中退出腳本?

看起來內核意外死亡。使用'重新啓動內核'繼續使用這個控制檯。

在此運行時環境中停止腳本的正確方法是什麼?

回答

9

人們可以

  • 出口通過提高自定義異常喜歡

    raise Exception('exit') 
    

  • 腳本封裝代碼爲main功能和使用return內。

如果不希望改劇本,可以

  • 交換機或

  • 「在新的專用Python解釋器執行」登記在退出處理程序IPython的控制檯:

    def exit_handler(): raise Exception("exit()"), get_ipython().ask_exit = exit_handler 
    
+0

這個問題的答案是? – Nilesh 2014-09-19 07:20:55

+1

@Lafada:我還不知道。請參閱https://code.google.com/p/spyderlib/issues/detail?id=1974。 – 2014-09-19 12:31:01

+0

如果這不是答案,請將其置於評論中或僅更新現有問題。如果你發佈答案,那麼其他人會得到錯誤的印象。 – Nilesh 2014-09-20 03:53:06

2

正如Robert Pollak所建議的,Spyderlib Issue 1974 #4中的評論是更好的解決方案。只需定義一個導致異常的函數,如果你想停止spyder內部腳本的執行,就調用這個函數。

def f(): raise Exception("Found exit()") 
+0

謝謝@ ollydbg23!我已將你的答案納入我的。 – 2015-12-15 09:19:17