如何在Jupyter Lab启动时自动打开多个不同notebook独立窗口
Jupyter Lab启动自动加载多Notebook独立分窗配置方案
不需要安装第三方插件,通过Jupyter Lab原生工作区配置即可实现零手动操作的启动效果:启动后自动完成分窗布局,每个窗口加载指定notebook,运行独立ipykernel,全程不需要点击、拖拽调整。
- 前置准备
把需要自动加载的notebook文件(比如Untitled.ipynb、Untitled1.ipynb)放到你常用的Jupyter Lab启动工作目录下,确保文件可正常读写。 - 配置默认工作区
先完全关闭所有运行中的Jupyter Lab进程,避免配置被运行中的程序覆盖。
找到Jupyter Lab工作区配置目录:- Windows系统路径:
%APPDATA%\jupyter\lab\workspaces - Mac/Linux系统路径:
~/.jupyter/lab/workspaces/
目录下的default.jupyterlab-workspace是Jupyter Lab默认启动加载的工作区配置文件,用文本编辑器打开,把原有内容替换为下面的配置:
- Windows系统路径:
{ "data": { "layout-restorer:data": { "main": { "dock": { "type": "split-area", "orientation": "horizontal", "sizes": [0.5, 0.5], "children": [ { "type": "tab-area", "currentIndex": 0, "widgets": ["notebook:Untitled.ipynb"] }, { "type": "tab-area", "currentIndex": 0, "widgets": ["notebook:Untitled1.ipynb"] } ] }, "current": "notebook:Untitled.ipynb" } }, "notebook:Untitled.ipynb": { "data": { "kernel": { "name": "python3", "id": "替换为第一个随机UUID" }, "path": "Untitled.ipynb", "factory": "Notebook" } }, "notebook:Untitled1.ipynb": { "data": { "kernel": { "name": "python3", "id": "替换为第二个随机UUID" }, "path": "Untitled1.ipynb", "factory": "Notebook" } } }, "metadata": { "id": "/lab" } }
- 配置调整说明
- 两个kernel的id需要替换为不同的随机UUID:Windows系统可在终端执行
powershell [guid]::NewGuid()生成,Mac/Linux系统执行uuidgen生成,只要两个id不重复,启动时就会为两个notebook拉起完全独立的ipykernel,变量、运行状态完全隔离。 sizes字段的[0.5, 0.5]对应两个窗口的宽度占比,可根据需求调整数值,总和保持为1即可;如果需要上下分栏,把orientation字段的horizontal改为vertical即可。- 需要新增更多分窗时,按现有格式在
children数组中添加对应tab-area配置,同时新增对应的notebook配置项,为每个notebook分配独立UUID即可。
- 两个kernel的id需要替换为不同的随机UUID:Windows系统可在终端执行
- 启动验证
直接在工作目录执行jupyter lab启动,浏览器加载完成后就是预设好的分窗布局,每个notebook会自动连接独立kernel,不需要任何手动操作。
如果不想修改全局默认工作区,可以把上面的配置文件单独命名为multi-notebook.jupyterlab-workspace存到工作目录,启动时执行jupyter lab --workspace=multi-notebook.jupyterlab-workspace即可加载多窗口配置,不影响日常单窗口使用场景。
内容的提问来源于stack exchange,提问作者Seung Min Ahn
相关产品推荐
相关产品推荐

