在 AIStudio 开发机上安装和使用 Jupyter Lab
本指南将带你完成在 AIStudio 开发机上安装 Jupyter Lab,并像使用本地环境一样使用开发机上的 JupyterLab,提高在数据科学和机器学习项目中的生产力。
什么是 Jupyter Lab?
Jupyter Lab 是一个基于网络的交互式开发环境,支持笔记本、代码和数据可视化,特别适合数据科学和机器学习工作流程,为各种编程语言提供灵活且强大的界面。

实验环境
- 开发机
- Ubuntu 镜像:
cr.infini-ai.com/infini-ai-dev/ubuntu:20.04-20231109。你也可选用其他镜像。 - 可 SSH 远程登录开发机,如需帮助,可参考教程添加 SSH 公钥指南
手动安装 Jupyter Lab
由于 AIStudio 平台未集成 Jupyter Lab,也未提供包含 Jupyter Lab 的预置镜像,我们可以手动安装 Jupyter Lab。
以下实验步骤以 Ubuntu 基础镜像为例。
提示
如果不想在开发机中手动安装 Jupyter Lab,可以自行获取已预装 Jupyter Lab 的公共镜像,或者参考 构建自定义镜像 · 基于现有镜像中的示例,在 AIStudio 现有镜像的基础上添加 Jupyter Lab。镜像准备完成,使用您的自定义镜像创建开发机即可。
pip
最简单的方式,直接用 pip 安装 jupyterlab:
python3 -m pip install jupyterlabconda
如果需要在虚拟环境中使用 jupyterlab,建议先阅读 在开发机中使用 Conda。以下步骤推荐在开发机 Web Terminal 中完成。
初始化镜像自带的 Miniconda。
bashconda init创建虚拟环境
bash# 检查已安装的 python 版本 python --version # 创建虚拟环境,指定 python 版本 conda create --name jupyterlab python=3.12.4激活虚拟环境
bashconda activate jupyterlab安装 Jupyter Lab。根据 Jupyter 官方建议,以下命令通过
-c指定使用 conda-forge channel。bashconda config --add channels conda-forge conda install -c conda-forge jupyterlab
启动 Jupyter Lab
提示
如果你了解如何在 VS Code 中 SSH 远程连接开发机,建议使用 VS Code 集成终端启动 Jupyter Lab。Jupyter Lab 会自动完成端口转发配置。通过 Shift+Command+P(Win:Shift+Ctrl+P)打开命令面板,输入 forward a port,可查看当前端口转发配置。
SSH 连接到开发机,或从云平台访问开发机 Web Terminal 终端界面,启动 Jupyter Lab。
# 直接在前台启动 Jupyter Lab
jupyter lab --no-browser --port=9999 --allow-root
# 关键:如果你希望断线/关闭 VS Code 后服务仍继续运行,需要在持久化会话中启动(例如 tmux)
tmux new-session -s jupyterlab9999 'jupyter lab --no-browser --port=9999 --allow-root'参数说明:
--no-browser: 表示无需自动打开浏览器窗口。--port=9999: 指定端口。不指定端口时,Jupyter Lab 默认使用8888,这里指定使用非默认端口9999。
提示
你可以在开发机中启动多个 Jupyter Lab 实例,并指定不同的端口。
获取 Jupyter Lab 验证 Token
启动 Jupyter Lab 后,开发机会输出类似以下的信息。复制其中的 Token,后续远程访问 Jupyter Lab 时需要使用该 Token 验证身份。
[C 2024-08-01 14:04:27.028 ServerApp]
To access the server, open this file in a browser:
file:///home/janedoe/.local/share/jupyter/runtime/jpserver-12155-open.html
Or copy and paste one of these URLs:
http://localhost:9999/lab?token=0b303eb33e5dec93448d7f64b8be496777323dfc09c52f3a
http://127.0.0.1:9999/lab?token=0b303eb33e5dec93448d7f64b8be496777323dfc09c52f3a提示
你可以用 jupyter server 列出所有 Jupyter Lab 实例,查看端口及 Token。
在智算云平台直接访问 Jupyter 界面
AIStudio 平台为了方便用户访问应用 UI 界面,提供了 Web 应用预览功能,可转发开发机实例内的 Web UI 服务。
创建或改配 AIStudio 开发机,填写预期使用的 Web 应用预览端口号(例如
9999)。开发机启动后生效。启动 JupyterLab 服务,并绑定到所有网络接口(0.0.0.0)。
bash# 假设当前开发机 Web 应用预览端口号已被配置为 9999,则需要使用 --port 指定同样的端口号 jupyter lab --no-browser --ip 0.0.0.0 --port=9999 --allow-root重要
在启动 Web 服务时,请绑定到所有网络接口(
0.0.0.0),否则无法预览。
注意
访问 Web 应用预览界面要求登录 AIStudio 账号。
远程访问
智算云平台仅开放 SSH 访问。如果需要远程访问 Jupyter Lab,需在本地机器上配置 SSH 端口转发。
方案概述
我们将在远程开发机上安装 Jupyter Lab,并通过 SSH 端口转发在本地机器上访问开发机上的 Jupyter Lab 实例。以下是该解决方案的架构图:
Jupyter Lab 有本地客户端吗?
“Jupyter Server” is Jupyter Notebook without a front end bundled in its installation. That is, it does not include a “client” web application and is merely a web server. Jupyter Lab, and its various extensions, utilize the REST API exposed by Jupyter Server. “Jupyter Server” is more than kernel management, in that it also provides content services for maintaining notebook files within a directory structure and exposes a Session manager through which most interactions occur.
Ref: https://discourse.jupyter.org/t/single-user-setups-for-local-client-remote-kernel/13882/6
如果使用 VS Code 的 Jupyter 插件,可以集成远程 Jupyter server 为 Remote Kernel。
本地 SSH 端口转发配置
智算云平台仅开放 SSH 访问。如果需要远程访问 Jupyter Lab,需在本地机器上配置 SSH 端口转发。
重要
推荐通过 VS Code 连接到开发机,并在 VS Code 的集成终端启动 Jupyter Lab,VS Code 将自动在本地机器上配置 SSH 端口转发,无需手动配置。
获取开发机 SSH 连接信息
请登录智算云平台,查看开发机的 SSH 连接命令。

SSH 连接命令示例:-p 33260 root@8.140.242.203
其中包含当前开发机的 SSH 端口号、用户名、SSH 主机 IP,下一步中将会使用。root 为默认 SSH 登录用户名(部分旧版实例展示为非 root 普通用户名,请重启)。
配置 SSH 端口转发
警告
继续之前,请确保本地计算机可 SSH 远程访问开发机。如需帮助,请参考 添加 SSH 公钥指南 进行操作和验证。
手动配置 SSH 端口转发
在本地机器上运行以下命令,设置 SSH 端口转发(隧道)以安全连接到远程 Jupyter 服务器。
ssh -N -f -L 8888:localhost:9999 -p 43500 root@8.140.242.203上面命令中,有三个 SSH 命令选项。
-N:不发送任何命令,只用来建立连接。没有这个参数,会在 SSH 服务器打开一个 Shell。-f:将 SSH 连接放到后台。没有这个参数,暂时不用 SSH 连接时,终端会失去响应。-L 8888:localhost:9999:指定端口转发。8888为本地端口,可按需改为其他端口号。目标是远程机器上的 localhost 上的端口9999。Jupyter Lab 服务运行在 9999 端口)。root@8.140.242.203: 替换为开发机的 SSH 连接信息。请从智算云平台获取。root为默认 SSH 登录用户名(部分旧版实例展示为非 root 普通用户名,请重启)。
远程使用 Jupyter Lab
你可以通过两种方式使用远程的 Jupyter Lab。
远程访问 Jupyter Lab 界面
采用「远程访问 Jupyter Lab 界面」方式,无需提前登录 AIStudio 账号,即可使用 Jupyter Lab 界面。
在本地机器上打开网络浏览器,访问 http://localhost:8888。首次打开 Jupyter Notebook 界面后,输入之前复制的 Token。使用这种方式将直接登录远程主机,因此无法使用本地计算机上的 Notebook 文件。

连接成功后,Jupyter Lab 界面如下。

提示
在开发机中运行 Jupyter Lab 服务时,Jupyter Lab 默认使用当前路径为 Notebook 工作目录,即 Jupyter Lab 界面左侧的根目录。你也可以在运行 jupyter lab 前设置环境变量 export JUPYTER_PATH="/path/to/your/desired/directory" 指定一个 Notebook 工作目录。
集成 Remote Kernel(推荐长任务使用)
采用「本地集成 Remote Kernel」方式,你可以在本地 VS Code 中编写代码,而代码实际运行在远程开发机的 Jupyter Kernel 中。
为什么推荐这种方式? 相比直接使用 VS Code Remote SSH 启动的内核,连接到已有的 Jupyter Server(特别是运行在 tmux/nohup 中的 Server)有以下巨大优势:
- 防断连:即使 VS Code 关闭或 SSH 断开,远程的 Jupyter Server 和训练进程依然在后台运行。
- 可恢复:重新连接后,可以继续查看之前的运行状态和变量。
配置步骤:
在远程启动 Jupyter Server:关键是让 Jupyter Server 运行在持久化会话中(例如 tmux),从而在 VS Code 关闭、SSH 断开或网络波动时仍能继续运行。
bash# 在远程终端执行 tmux new -s jupyter 'jupyter lab --no-browser --port=8888 --allow-root'在 VS Code 中连接:
- 点击 VS Code 右上角的选择内核按钮(或运行命令
Jupyter: Specify Jupyter Server for Connections)。 - 选择现有 Jupyter 服务器 (Existing Jupyter Server)。
- 输入 Jupyter Server 的 URL(包含 Token)。如果使用了 VS Code Remote SSH 连接开发机,通常直接输入
http://localhost:8888/?token=...即可(VS Code 会自动处理转发)。


- 点击 VS Code 右上角的选择内核按钮(或运行命令
验证连接: 点击确认后,VS Code 将连接到远程内核。你可以在 Notebook 中运行
!nvidia-smi验证是否成功调用了远程 GPU。
一键启动(可选):用 tasks.json 启动 tmux + Jupyter
为了简化每次手动输入命令的繁琐,你可以配置 VS Code 的 tasks.json 来一键启动 "tmux + Jupyter" 环境。
在
.vscode/tasks.json中添加以下任务:json{ "version": "2.0.0", "tasks": [ { "label": "启动后台 Jupyter Lab", "type": "shell", "command": "tmux new-session -d -s jupyter 'jupyter lab --no-browser --port=8888 --allow-root' || echo 'Jupyter session already exists'", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" }, "problemMatcher": [] } ] }使用方法:
- 按
Cmd+Shift+P(macOS) 或Ctrl+Shift+P(Windows),输入Run Task。 - 选择 "启动后台 Jupyter Lab"。
- 任务会在后台启动 tmux 会话。你可以随时通过
tmux attach -t jupyter查看日志或获取 Token。
- 按
提示
如果希望 VS Code 终端本身也能防断连(自动进入 tmux),请参考 VS Code 远程开发 - 配置终端自动进入 tmux 会话。
结论
通过以上步骤,你已经成功在远程开发机上安装了 Jupyter Lab,并通过三种方式使用 Jupyter Lab。
- 在智算云平台通过跳转方式,直接打开 Jupyter Lab 界面。
- 通过 SSH 端口转发在本地安全地访问 Jupyter Lab 界面。
- 通过 SSH 端口转发集成远程 Jupyter 内核,在本地的 Notebook 中直接使用 AIStudio 开发机上的 GPU。