异常发生后,如果不重新启动内核,Jupyter 将无法工作

异常发生后,如果不重新启动内核,Jupyter 将无法工作

当代码中出现异常时,我需要终止并重新启动 Jupyter 的内核。否则,所有单元都不会执行。这种情况发生在任何脚本,即它可以是像print('Hello, world!)(缺少结束撇号)这样简单的东西。终止并重新启动内核非常烦人,因为我会丢失之前计算的所有变量等,所以我需要逐个单元重新运行整个脚本。为什么会发生这种情况,这种行为可以以某种方式改变吗?这是 Jupyter/IPython 的“功能”还是错误?此外,我经常必须通过按 Shift+Enter 两次来“强制”执行一个单元,因为第一次之后,单元将无限期地保持忙碌状态(显示[*])。

我在 Windows 10 机器上工作并pip使用获取pip.py,然后通过 Jupyter pip install,然后是我工作所需的所有 Python 包。我在任何其他机器上都没有遇到过这个问题,无论是运行 Windows 还是各种 Linux 发行版。

答案1

我也遇到了同样的问题:代码中出现任何异常后,单元格不再执行。重新启动内核有帮助,但很烦人。

我也遇到了必须执行两次单元格才能获得结果的问题。

我们在使用最新版本 winpython 的不同 Win10 机器上都遇到了这个问题。这个问题几个月前就开始了,显然影响了不同的版本。

答案2

有一个专门针对此错误的议题,当它被关闭时,此帖子可能会被视为一个答案:

https://github.com/jupyter/notebook/issues/6526

相关内容