如何在Python Jupyter Notebook命令行重启内核并跳过弹窗手动点击
Jupyter Notebook 命令行重启内核免手动确认方案
os._exit(00)的实现逻辑是直接终止内核进程,Jupyter前端检测到内核异常退出后会弹出确认提示,需手动点击后才会完成重启。如果需要跳过确认步骤,可直接调用Jupyter官方提供的前端内核控制接口实现无提示重启,具体代码如下:
适用Jupyter Notebook环境
from IPython.core.display import HTML HTML("<script>Jupyter.notebook.kernel.restart()</script>")
适用JupyterLab环境
from IPython.display import display, Javascript display(Javascript(''' require(["base/js/namespace"], function(Jupyter) { Jupyter.notebook.kernel.restart(); }); '''))
注意事项
- 以上方案依赖Jupyter前端JS接口权限,仅在本地标准部署的Jupyter环境中可用,部分托管类Notebook平台可能因权限限制无法生效
- 重启后内核的所有运行状态、内存变量都会被清空,请确认需要保留的内容已提前保存
- 如果需要在重启后自动运行指定单元格,可以在JS代码中补充执行单元格的逻辑,示例如下:
from IPython.core.display import HTML HTML(""" <script> Jupyter.notebook.kernel.restart(); // 重启后运行当前单元格之后的第1个单元格 setTimeout(() => Jupyter.notebook.select_next().execute_cell(), 1000); </script> """)
内容的提问来源于stack exchange,提问作者Santoo
相关产品推荐
相关产品推荐

