假设我在Jupyter Notebook中执行了所有单元格,并希望在中间中断计算。如何停止执行所有单元格?
“内核中断”仅中断当前单元的执行,但随后立即继续执行所有剩余单元。相反,我不希望在点击“内核中断”后执行所有剩余的单元格。我怎么能这样做?
我正在使用Python 3.5.2运行版本4.2.3,由conda-forge打包
答案 0 :(得分:0)
如果您事先知道要停止的位置(例如,下面的代码花费的时间很长,不需要每次运行都执行), 您可以添加
raise SystemExit("Stop right there!")
任何您想停下来的地方。
由于抛出了异常,并且使用SystemExit异常时,默认情况下不会显示堆栈跟踪。
内核不会退出,因此您仍然可以手动执行所有操作。
答案 1 :(得分:0)
添加注释(突出显示并按Ctrl- /),以负责运行(或更快地注释整个单元格)的指令,然后重新运行该单元格(Ctrl-Enter)。这将停止运行,当然也将停止输出。然后,您可以取消注释受影响的部分。 这比杀死并重新启动内核要容易得多。
(请注意,仅使用[Esc] +'O'清除输出不会停止它。)
答案 2 :(得分:-1)
摆脱这个问题的一个简单技巧是按“ ctrl + a”选择要停止执行的特定单元格的所有代码,然后按“ ctrl + x”剪切整个单元格代码。
现在单元格为空,仅执行空单元格。
之后,只需按“ ctrl + v”粘贴代码,即可解决您的问题。