重启Jupyter notebook时自动运行首格/第n格(优先支持快捷键)方案问询
实现Jupyter Notebook重启后自动运行指定单元格的方案
下面提供三种不同场景的实现方法,可根据需求选择:
方案1:无扩展原生实现自动运行指定单元格
无需安装额外插件,仅需修改Jupyter自定义配置即可生效:
- 找到本地Jupyter自定义配置文件,路径为
~/.jupyter/custom/custom.js,若对应目录或文件不存在,手动创建即可 - 在
custom.js中添加如下代码,代码中runIndex对应要运行的单元格序号,从0开始计数,如需运行首个单元格保持0即可,运行第3个单元格则修改为2:
// 内核重启完成后触发运行指定单元格 $([Jupyter.events]).on('kernel_ready.Kernel', function() { var runIndex = 0; Jupyter.notebook.execute_cells([runIndex]); });
- 保存文件后重启Jupyter服务,后续每次内核重启完成,都会自动运行你指定序号的单元格
方案2:可视化标记初始化单元格
适合需要灵活调整哪些单元格自动运行的场景:
- 先安装nbextensions扩展包,执行命令:
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install --user - 重启Jupyter后进入首页的
Nbextensions标签页,找到「Initialization cells」扩展并勾选启用 - 打开目标Notebook,点击顶部菜单栏
View→Cell Toolbar→Initialization Cell,此时每个单元格顶部会出现一个勾选框,勾选你需要重启后自动运行的单元格即可,支持同时选中多个单元格
方案3:设置快捷键触发运行指定单元格
如果不需要每次重启都自动运行,仅需要快捷调用运行特定单元格,可以自定义键盘快捷键:
- 打开任意Notebook,点击顶部菜单栏
Help→Edit Keyboard Shortcuts可以直接调整官方内置的快捷键,也可以通过修改custom.js自定义更灵活的触发逻辑,比如绑定Alt+R运行首个单元格的代码如下:
// 绑定Alt+R快捷键运行首个单元格 Jupyter.keyboard_manager.command_shortcuts.add_shortcut('Alt-r', { help: 'Run first cell', handler: function (event) { Jupyter.notebook.execute_cells([0]); return false; } });
- 配置保存重启Jupyter后,按下对应快捷键就可以直接运行指定单元格,不需要滚动到顶部操作
内容的提问来源于stack exchange,提问作者user3521099
相关产品推荐
相关产品推荐

