2014-09-19 77 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