3-JupyterLab
概述
JupyterLab 是一个高度可扩展、功能丰富的计算笔记本创作应用程序和编辑环境,它是Jupyter 项目的一部分。
JupyterLab 是Jupyter 项目旗下其他计算笔记本创作应用程序的姊妹产品,例如 Jupyter Notebook和 Jupyter Desktop。与 Jupyter Notebook 相比,JupyterLab 提供了更先进、功能更丰富、可定制的体验。
计算笔记本是 一种可共享的文档,它融合了计算机代码、纯语言描述、数据、丰富的可视化效果(例如 3D 模型、图表、图形和数字)以及交互式控件。计算笔记本与 JupyterLab 等编辑器配合使用,提供了一个快速的交互式环境,可用于原型设计和解释代码、探索和可视化数据以及与他人分享想法。
注意,本文的jupyter是通过anaconda进行打包安装的,如果对anaconda没有任何了解,请先,阅读《Anaconda:环境和包管理》
启动jupyterLab
1.开始菜单启动
安装了Anaconda之后发现开始菜单有jupyter notebook的快捷方式,但是没有jupyterLab的快捷方式;

在《科学计算开发工具:Jupyter Notebook、JupyterLab、VS Code + Jupyter 插件如何选择?》一文我讲到过:JupyterLab和vescode+插件才是今后作为科学计算研究工具的首选,那么如何才能在开始菜单打开JupyterLab呢?
为什么 Anaconda 未自动集成 JupyterLab 到开始菜单?
- 历史原因:Anaconda 默认将 Jupyter Notebook 作为经典工具集成到开始菜单,但 JupyterLab 作为新一代工具,可能未被包含在默认安装脚本中。
- 手动操作需求:需要手动创建快捷方式或通过其他方式快速启动。
手动创建 JupyterLab 快捷方式到开始菜单
步骤 1:找到 JupyterLab 的可执行文件路径
通过 Anaconda Prompt 查找路径:
# 激活 base 环境(如果尚未激活) conda activate base # 查找 jupyter-lab.exe 的路径 where jupyter-lab
输出示例:
(base) C:\Users\luzhanshi>where jupyter-lab D:\install\tools\Anaconda312\Scripts\jupyter-lab.exe C:\Users\luzhanshi\AppData\Local\Programs\Python\Python313\Scripts\jupyter-lab.exe
步骤 2:创建桌面快捷方式
- 右键点击桌面 → 新建 → 快捷方式。
- 输入目标位置(上一步找到的路径):
- 命名快捷方式(如
JupyterLab)。
步骤 3:将快捷方式固定到开始菜单
- 右键点击桌面上的
JupyterLab快捷方式 → 固定到“开始”菜单。 - 在开始菜单的“最近添加”或自定义文件夹中找到它。
2.直接通过命令启动
Win + R 快速启动:
按 Win + R,输入以下命令后回车:
jupyter-lab
需确保 Conda 的 Scripts 目录已添加到系统环境变量 Path
3.JupyterLab指定启动环境
方法 1:在目标 Conda 环境中直接启动 JupyterLab
- 激活目标环境(如
hanlp_env)
conda activate hanlp_env
jupyter lab
- 此时 JupyterLab 会默认使用当前激活的环境作为内核。
方法 2:为 JupyterLab 添加 Conda 环境内核
如果需要在 JupyterLab 中切换不同的 Conda 环境,可以手动注册环境内核:
步骤 1:安装 ipykernel
在目标 Conda 环境中安装 ipykernel:
conda activate hanlp_env
pip install ipykernel
步骤 2:将环境注册为 Jupyter 内核
python -m ipykernel install --user --name hanlp_env --display-name "HanLP Python"
--name:内核名称(建议与 Conda 环境名一致)。--display-name:在 JupyterLab 界面中显示的名称。
步骤 3:启动 JupyterLab
jupyter lab
方法 3:使用 nb_conda_kernels 自动识别所有 Conda 环境
在基础环境安装 nb_conda_kernels:
conda activate base
conda install nb_conda_kernels
确保目标环境已安装 ipykernel:
conda activate hanlp_env
pip install ipykernel
使用教程
支持的文件格式
jupyterlab几乎支持所有常见的文件格式:

内容界面操作-helloworld
cell操作
- 什么是cell?
- cell:一对In Out会话被视作一个代码单元,称为cell
- cell行号前的 * ,表示代码正在运行
- Jupyter支持两种模式:
- 编辑模式(Enter)
- 命令模式下回车Enter或鼠标双击cell进入编辑模式
- 可以操作cell内文本或代码,剪切/复制/粘贴移动等操作
- 命令模式(Esc)
- 按 Esc 退出编辑,进入命令模式
- 可以操作cell单元本身进行剪切/复制/粘贴/移动等操作
- 编辑模式(Enter)

鼠标操作



快捷键
代码快捷键
- 两种模式通用快捷键
- Shift+Enter,执行本单元代码,并跳转到下一单元
- Ctrl+Enter,执行本单元代码,留在本单元
- Alt-Enter : 运行本单元,在其下插入新单元
- 命令模式:按ESC进入
- Y,cell切换到Code模式
- M,cell切换到Markdown模式
- A,在当前cell的上面添加cell
- B,在当前cell的下面添加cell
- C,复制单元格
- V,粘贴单元格
- X,剪切单元格
- 按两次0,重启内核
- 其他(了解)
- 双击D:删除当前cell
- Z,回退
- Shift+Z,反向回退
- L,为当前cell加上行号
- Ctrl+Shift+P,对话框输入命令直接运行
- Crtl+Home,快速跳转到首个cell
- Crtl+End、快速跳转到最后一个cell
- 编辑模式:按Enter进入
- 补全代码:变量、方法后跟 Tab键
- 为一行或多行代码添加/取消注释: Ctrl+/ (Mac:CMD+/)
- 复制当前行:Alt+Shift+↓
- 等宽代码选取:Alt+Shif,然后推动鼠标选取目标区域
- 其他(了解):
- 多光标操作: Ctrl键点击鼠标(Mac:CMD+点击鼠标)
- 回退: Ctrl+Z (Mac:CMD+Z)
-
- 重做: Ctrl+Y (Mac:CMD+Y)
显示行号
在Jupyter Lab中显示行号,可以通过以下几种方法实现:
- 通过菜单栏操作:
- 打开Jupyter Lab界面。
- 在菜单栏中找到“View”(视图)选项。
- 在下拉菜单中选择“Show Line Numbers”(显示行号)以启用行号显示。
- 使用快捷键:
- 在Jupyter Lab的命令模式下,按下
Shift + L快捷键可以切换行号的显示与隐藏。
- 通过配置文件设置默认显示行号:
-
找到Jupyter Lab的配置文件目录。在Windows系统上,路径通常为
C:\Users\<Your_Username>\.jupyter;在Mac和Linux系统上,路径通常为/Users/<Your_Username>/.jupyter或/home/<Your_Username>/.jupyter。 -
在该目录下,找到或创建
jupyter_notebook_config.py文件。 -
打开该文件,并添加以下配置信息来设置默认显示行号:
c = get_config()
c.NotebookApp.default_url = "/lab"
c.NotebookApp.contents_manager_class = "jupyterlab.services.contents.filemanager.FileContentsManager"
-
保存文件并重新启动Jupyter Lab,新的笔记本将在启动时默认显示行号。
请注意,直接通过代码来控制Jupyter Lab的显示行号功能并不是标准用法,但可以通过修改配置文件来实现更高级的定制选项。如果你对Jupyter Lab的配置文件不太熟悉,建议先在菜单栏或使用快捷键尝试显示行号。
魔法命令
- 定义:
魔法命令是 Jupyter Notebook/Lab 中特殊的指令,以%或%%开头,用于扩展交互式编程功能。它们 直接由 Jupyter 内核(如 IPython)解释执行,而非 Python 解释器。 - 特点:
- IPython魔法命令设计用于简洁地解决标准数据分析中的各种常见问题。简化常见操作(如性能测试、文件读写、系统命令调用)。
- 提供更便捷的交互式开发体验。
魔法命令有两种形式:
行魔法(line magic):以单个%字符作为前缀,作用于单行输入
单元魔法(cell magic):以两个%%作为前缀,作用于多行输入。注意!!!单元魔法命令必须放在首行!!!(放注释后面也不行!!!)
查看魔法命令
%magic: 输出所有魔法指令帮助文档 %lsmagic:列出所有magics命令 %quickref:输出所有魔法指令的简单版帮助文档 %MagicName?:输出某个魔法命令详细帮助文档
查看time魔法命令的使用帮助文档:

基础必备命令(最高频使用)
%cd
- 功能:快速切换工作目录(支持历史记录导航)
- 示例:
%cd D:/data/jupyter#切换目录 %cd ~/projects # 切换目录 %cd - # 返回上一个目录 %cd -b bookmark # 跳转到书签目录
%run
- 功能:执行外部Python脚本
示例:
%run myscript.py arg1 arg2 # 带参数执行脚本 %run -t script.py # 显示执行时间 # 注意%run和%load使用指定路径时,不可以使用r'',的形式,所以为了避免特殊字符影响,建议使用“/”而非“\” %run D:/data/jupyter/JuputerLab/test.py %run D:\data\jupyter\JuputerLab\test.py %cd D:/data/jupyter/JuputerLab %run test.py
%load
- 功能:将外部代码加载到当前单元格
示例:
%load myscript.py # 加载整个文件 %load -r 5-10 myscript.py # 加载指定行 %load D:\data\jupyter\JuputerLab\test.py
%who/%whos
- 功能:查看当前命名空间中的变量
示例:
%who # 列出所有变量 %whos int # 仅显示整数变量
%store
- 功能:跨会话保存变量
示例:
%store var # 保存变量 %store -r var # 下次会话恢复变量
调试与性能分析(核心调试工具)
%debug
-
- 功能:进入交互式调试器(支持事后调试)
示例:
# 出现异常后立即执行 %debug
%timeit
- 功能:精确测量代码执行时间(计算接下来一行的Python语句多次执行后的平均时间)
示例:
%timeit L = [n ** 2 for n in range(100000)]
%timeit sum(range(1000)) # 单行测量

%%timeit # 多行测量.............注意!!!%%命令必须放在cell首行!!!!
x = np.random.rand(100)
x**2
%time:计算接下来一行的Python语句的执行时间
%prun
- 功能:代码性能分析器
- 示例:
%prun my_function() # 函数级性能分析
%pdb
- 功能:自动进入调试模式
配置:
%pdb on # 开启自动调试
根据官方文档整理的IPython魔法命令教程(按使用频率和重要性排序):
环境与配置(重要设置项)
%matplotlib
- 功能:设置matplotlib后端
示例:
%matplotlib inline # 在 Notebook 内显示 Matplotlib 图表 %matplotlib tk # 在 Notebook 外以GUI方式单独显示 Matplotlib 图表 %matplotlib qt # 使用Qt窗口显示
%config
- 功能:动态配置IPython
示例:
%config ZMQInteractiveShell.ast_node_interactivity='all' # 显示多个输出
%env
- 功能:环境变量管理
示例:
%env OMP_NUM_THREADS=4 # 设置环境变量
文件与代码管理(常用操作)
%%writefile
- 功能:将单元格内容写入文件
示例:
%%writefile script.py print("Hello World")
%pycat
- 功能:带语法高亮查看文件
示例:
%pycat myscript.py
%edit
- 功能:用外部编辑器编辑代码
示例:
%edit 1-5 # 编辑历史记录中的代码 %edit my_function # 编辑函数定义
交互增强功能(特色功能)
%%html
-
- 功能:渲染富文本内容
示例:
%%html <h1 style="color:red">标题</h1>

%%latex:写Latex公式
%%latex \begin{equation} \int_0^\infty \frac{x^3}{e^x-1}\,dx = \frac{\pi^4}{15} \label{eq:sample} \end{equation}

%%script :写bash、perl、javascript、js 等命令
%%bash # 执行 Bash 脚本 echo "Hello World" ls -l ls -l | head
运行 SQL 查询
%load_ext sql %sql sqlite:///mydb.db %%sql SELECT * FROM users;
%history:获取此前所有的输入历史
%xmode:设置异常模式,即当代码有异常时,出错信息的输出方式,可以设置Plain、Context、Verbose和Minimal四种模式
%pip:在cell中使用pip指令
%automagic:如果automagic被打开,魔法命令可以省略前面的 % 符号

shell相关魔法命令
%cd、%cat、%cp、%env、%ls、%man、%mkdir、%more、%mv、%pwd、%rm、%rmdir、…

注意:魔法方法提供了部分shell命令的功能,另外,我们也可以通过!cmd命令的方式运行相关shell命令。但要注意它们的区别:
!开一个新的progress,执行完之后立即终止。如果执行的命令是切换目录,则不会对当前进程产生影响。
%的操作会持续。如果使用%cd切换目录后,直接影响是当前进程。
使用“!”执行shell命令
当你正在使用Python编译器,需要用到命令行工具的时候,麻烦的事情就出现了:要在shell和IDLE之间进行切换。
但是,如果你用的是Jupyter,就完全不用这么麻烦,你可以直接在命令之前加一个!,就能执行shell命令,完全不用来回切换,就能在Jupyter中执行任何命令。
下面是在windows系统中,使用命令dir查看当前目前的文件内容

比如我们需要使用pip安装包的时候,便可以直接在JupyterLab的某个文档的单元中运行!pip install xxxx即可。
!和%执行shell命令区别
!dir(系统命令)
特点:
- 直接调用操作系统命令
- 输出格式与命令行完全一致
- 不支持跨平台(Windows用
dir,Linux/Mac用ls)
%ls/%ldir(魔法命令)
特点:
- 提供彩色高亮显示
- 支持Unix风格参数(如
-l、-h) - 跨平台兼容(Windows/Linux/Mac表现一致)
核心区别对比
| 特性 | !前缀命令(如!ls) |
魔法命令(如%ls) |
|---|---|---|
| 本质 | 直接调用操作系统的Shell命令 | IPython内置的增强命令 |
| 输出格式 | 原生Shell输出(纯文本) | 格式化输出(如彩色高亮、对齐) |
| 跨平台兼容性 | 依赖系统命令(如Windows用!dir,Linux用!ls) |
跨平台统一行为(如%ls在Windows/Linux表现一致) |
| 参数支持 | 支持原生Shell参数(如!ls -l) |
支持类Unix参数(如%ls -l) |
| 返回值处理 | 返回字符串(可通过output = !ls捕获) |
返回结构化对象(如文件列表) |
| 执行速度 | 较慢(需启动子进程) | 较快(直接在Python进程内处理) |
| 资源消耗 | 较高(每次调用均需创建新进程) | 较低(无额外进程开销) |
常见问题
(1) 魔法命令是 Python 语法吗?
- 不是,它们是 Jupyter/IPython 的扩展功能,仅在其环境中生效。若将代码复制到普通 Python 脚本中运行会报错。
(2) 是否需要安装额外依赖?
- 大部分魔法命令是内置的(如
%timeit),但某些命令依赖特定包:%sql需要安装ipython-sql。%pip需要 IPython 7+ 版本。
(3) 如何自定义魔法命令?
- 通过 IPython API 创建自定义魔法命令(参考 官方文档)。
(4)魔法命令是官方的吗?
- 官方支持:
魔法命令是 Jupyter 内核(如 IPython)的官方功能,自 IPython 时代就已存在,并持续维护至今。 - 扩展性:
用户或第三方库(如ipywidgets)可以自定义魔法命令,但这些扩展需明确安装。
总结
| 类别 | 常见命令示例 | 用途 |
|---|---|---|
| 性能分析 | %time, %timeit, %prun |
测量代码执行时间、性能剖析。 |
| 文件操作 | %save, %load, %pycat |
保存/加载代码、显示文件内容。 |
| 系统交互 | %ls, %cd, %pip |
执行 Shell 命令、管理包依赖。 |
| 调试与诊断 | %debug, %pdb |
进入调试模式、检查变量。 |
| 多语言支持 | %%bash, %%HTML |
运行其他语言代码(如 Bash、HTML、SQL)。 |
| 可视化 | %matplotlib inline |
嵌入图表或调整渲染方式。 |
插件
Jupyter让很多人喜欢的原因在于它提供了丰富的插件,包括显示代码执行时间、生成目录、显示变量名、代码块折叠等各种让你舒适的功能。(插件丰富,非常像Vs code)
JupyterLab 的插件机制:
自 Jupyter Notebook 开始,Jupyter 社区就一直在营造第三方插件体系。得益于 JupyterLab 更现代的操作界面和功能范围,仅在 JupyterLab 中展示的已上架插件就有近 250 款。这些插件中,有些插件用于增强编码能力,如代码补全、定义跳转等;有些则增强了与其它文件、服务的集成能力,比如 Excel 文件查看,数据库连接查看、Git 服务支持等;还有一些,则会增强 JupyterLab 的展示和交互,比如界面主题,代码高亮,数据可视化等。
相较于 Jupyter Notebook 的第三方插件管理器,JupyterLab 已经正式推出了官方的插件管理模块。具有极强的扩展性,丰富的插件显著提升编码体验,大大提高工作效率。
1. 准备工作
在进行JupyterLab插件安装之前,需要安装node.js 和 npm,可运行如下命令进行安装。
依赖 Node.js:安装插件前需确保已安装 Node.js(≥12.0):
#方法1:
!pip install nodejs npm -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 Node.js方法2:(以 conda 为例)
conda install -c conda-forge nodejs
注意,命令前面加
!是因为在jupyterlab中运行的,如果在终端运行的安装命令,去掉!
镜像加速:使用国内 npm 镜像加速安装:
npm config set registry https://registry.npmmirror.com
2. 插件的安装
注意:插件安装建议统一使用一种方式安装和管理,例如使用conda或者pip,避免混合使用!
JupyterLab 插件管理方式:综合对比与最佳实践
在管理 JupyterLab 插件时,您有多种选择:conda、pip、jupyter 命令和 JupyterLab 界面。以下是详细对比和专业建议:
管理方式全面对比
| 特性 | Conda | Pip | Jupyter 命令 | JupyterLab 界面 |
|---|---|---|---|---|
| 兼容性 | ★★★★★ 最佳 | ★★★★☆ 良好 | ★★☆☆☆ 较差 | ★★★★☆ 良好 |
| 依赖管理 | 完整系统依赖 | Python依赖 | NodeJS依赖 | 依赖后端安装方式 |
| 版本控制 | 严格版本控制 | 语义化版本 | 不完善 | 依赖后端 |
| 环境隔离 | 完全隔离 | 依赖virtualenv | 无隔离 | 依赖环境 |
| 安装复杂度 | 简单 | 简单 | 复杂(需NodeJS) | 最简单 |
| 恢复能力 | 完全可复制 | 可复制 | 难复制 | 难复制 |
| 推荐指数 | ★★★★★ | ★★★★☆ | ★★☆☆☆ | ★★★★☆ |
详细推荐指南
1. 首选:使用 Conda(强烈推荐)
适用场景:Anaconda/Miniconda 用户、科学计算环境、需要系统级依赖管理的场景
# 安装插件
conda install -c conda-forge jupyterlab-plotly
# 卸载插件
conda uninstall jupyterlab-plotly
# 列出插件
#linux
conda list | grep jupyterlab
#win
conda list | findstr jupyterlab
最佳实践:
# 创建新环境(可选但推荐)
conda create -n jupyter-env python=3.10
# 激活环境
conda activate jupyter-env
# 安装核心组件
conda install -c conda-forge jupyterlab
#或者使用mamba(速度快)
mamba install jupyterlab
# 安装插件
conda install -c conda-forge jupyterlab-git jupyterlab-lsp
#或者使用mamba(速度快)
mamba install jupyterlab-git jupyterlab-lsp
#最后使用pip安装所有lsp组件包
pip install "python-lsp-server[all]"
'''
-c:是 conda install 的选项,意为指定通道(channel) ,告诉 conda 从哪里找要安装的包。
conda-forge:是社区驱动的 conda 包仓库,包含大量官方默认通道没有、或更新更及时的包,像很多科学计算、数据分析相关工具,常能在这找到。
'''
##用 conda 管理 JupyterLab 及其插件(二进制依赖多,conda 更稳定);
##用 pip 安装纯 Python 的 LSP 服务器及其扩展(简单高效,避免 conda 解析慢)。
2. 次选:使用 Pip
适用场景:纯 Python 环境、Docker 容器、不需要系统依赖的插件
# 创建虚拟环境(推荐)
python -m venv jupyter-venv
source jupyter-venv/bin/activate # Linux/macOS
# 或
jupyter-venv\Scripts\activate # Windows
# 安装核心组件
pip install jupyterlab
# 安装插件
pip install jupyterlab-plotly jupyterlab-git jupyterlab-lsp "python-lsp-server[all]"
# 卸载插件
pip uninstall jupyterlab-plotly
# 列出插件
pip list | grep jupyterlab
优势:
- PyPI 有最全的插件库
- 更快的更新速度
- 与 virtualenv 无缝集成
界面安装(不推荐,卸载不掉)
进入JupyterLab后,可以在Web上查看已安装组件,搜索安装需要的插件


注意事项:
- 实际是通过 pip 或 conda 安装在后台
- 需要重启 JupyterLab 才能生效
- 可能因网络问题安装失败
jupyter命令安装(不推荐)
避免:使用 Jupyter 命令
问题原因:
- 需要完整的 Node.js 开发环境
- 构建过程可能失败(C++ 编译问题)
- 版本冲突常见
- 管理困难
当然,如果必要,你也可以使用jupyter命令行方式进行插件的查看、安装、更新和删除
为了方便可以直接在jupyter里面创建终端:

查看已安装插件:jupyter labextension list 更新已安装插件:jupyter labextension update --all 安装插件toc:jupyter labextension install @jupyterlab/toc 删除插件toc:jupyter labextension uninstall @jupyterlab/toc
安装/卸载插件后需重启服务:
jupyter lab clean # 清理旧版本 jupyter lab build # 重新构建
企业级插件管理
插件清单管理
创建 jupyter_plugins.yaml:
channels:
- conda-forge
- defaults
plugins:
- name: jupyterlab
version: 4.2.5
- name: jupyterlab-git
version: 0.42.0
- name: jupyterlab-plotly
version: 5.24.1
安装脚本
# 根据清单安装
conda install $(awk '/^- name/ {print $2}' jupyter_plugins.yaml)
必装插件推荐
1. 代码增强类
| 插件名 | 功能 | 安装命令 |
|---|---|---|
| @ryantam626/jupyterlab_code_formatter | 代码自动格式化(支持 Black、Prettier) | pip install jupyterlab_code_formatterjupyter labextension install @ryantam626/jupyterlab_code_formatter |
| @jupyterlab/debugger | 集成调试器(需内核支持) | pip install xeus-pythonjupyter labextension install @jupyterlab/debugger |
| @krassowski/jupyterlab-lsp | 代码智能补全 + 定义跳转 | pip install jupyterlab-lspjupyter labextension install @krassowski/jupyterlab-lsp |
2. 可视化类
| 插件名 | 功能 | 安装命令 |
|---|---|---|
| jupyterlab-drawio | 集成 Draw.io 流程图工具 | pip install jupyterlab-drawiojupyter labextension install jupyterlab-drawio |
| jupyterlab-toc | 自动生成文档目录 | pip install jupyterlab_tocjupyter labextension install @jupyterlab/toc |
| jupyterlab-plotly | 增强 Plotly 交互式图表支持 | pip install jupyterlab-plotlyjupyter labextension install jupyterlab-plotly |
3. 协作与分享
| 插件名 | 功能 | 安装命令 |
|---|---|---|
| jupyterlab-git | Git 版本控制集成 | pip install jupyterlab-gitjupyter labextension install @jupyterlab/git |
| jupyterlab_onedarkpro | One Dark Pro 主题 | jupyter labextension install @yeebc/jupyterlab_onedarkpro |
| jupyterlab-link-share | 生成分享链接 | pip install jupyterlab-link-sharejupyter labextension install jupyterlab-link-share |
4. 效率工具
| 插件名 | 功能 | 安装命令 |
|---|---|---|
| jupyterlab-system-monitor | 实时监控 CPU/内存使用 | pip install jupyterlab-system-monitorjupyter labextension install jupyterlab-system-monitor |
| jupyterlab-topbar-extension | 顶部快捷工具栏 | jupyter labextension install jupyterlab-topbar-extension |
| jupyterlab-go-to-definition | 快速跳转到变量/函数定义 | jupyter labextension install @krassowski/jupyterlab_go_to_definition |
以下是 JupyterLab 常用插件及其安装方式,可大幅提升开发效率:
常用插件组合推荐
1. 数据分析师
- jupyterlab-lsp(代码补全)
- jupyterlab-system-monitor(资源监控)
- jupyterlab-toc(文档导航)
2. 机器学习工程师
- @jupyterlab/debugger(调试)
- jupyterlab-plotly(可视化)
- jupyterlab-git(版本控制)
3. 教育/团队协作
- jupyterlab-link-share(分享链接)
- jupyterlab-drawio(流程图)
- @ryantam626/jupyterlab_code_formatter(代码规范)
通过安装这些插件,可将 JupyterLab 打造成高效的全能开发环境!
markdown演示
作用:用作代码说明(标题)、模块划分


关于markdown的功能,非常多:标题,缩进,插入表格,插入图片等等。。。。
标题
在markdown模式下,标题使用“#”来表示,几个井号就代表几级标题,注意!井号后面要跟一个空格,否则markdowm将其无法识别为标题
最多支持六级标题!!!

缩进
在markdown模式下,缩进使用减号“-”来表示:

其他语法
# 学习jupyterlab——markedown
## 字体
*斜体*
**加粗**
## 列表
### 有序列表
1. 数字列表
2. 列表
3. 测试
### 无序列表
- 一级列表
- 二级
- 三级
## 分割线:三条杠
---
## 标记为代码
### 行内代码,使用``包裹代码
下面是演示代码` print('hello')`
### 大代码块,使用```包裹代码:
这是一段很长的代码:
```
import numpty as np
arr=np.array(['1','2','3'])
print(arr)
```
## 方程式
<!--标准 Markdown 不支持 LaTeX:原生 Markdown 无法直接渲染数学公式,需依赖扩展(如 LaTeX 或 MathJax)。 -->
行内公式:用 单个 $ 包裹(需解析器支持)
$ x^2 $ 表示x平方
块级公式:用 两个 $$ 包裹
这是独立公式:
$$
x^2 + y^2 = z^2
$$
## url
输入网站链接会自动生成链接:https://www.baidu.com/
创建自定义链接:[link](https://www.baidu.com/)
## 块引用
块引用符号 > 用于在 Markdown 中标识引用文本内容(如引用他人观点、注释或强调内容),渲染后通常显示为带有左侧竖线或缩进的特殊格式。
单行块引用:在段落前加 >
> 这是一个单行块引用。
多行块引用:每行前加 >,或仅首行加 >
>这是第一行块引用,
>
> 这是第二行。
第三行不加>也行
>
多级嵌套引用
通过叠加 > 实现层级嵌套:
> 一级块引用。
>> 二级嵌套块引用。
>>> 三级嵌套块引用。
## 插入图片
<img src="./img/5.png" style="width:350px;height:230px;float:left">
六、远程访问
如果你有一台云服务器,是不是很想在服务器上配置好环境,在任何地方都可以通过浏览器进行访问使用呢?
考虑到服务器一般使用Linux,这里将以ubuntu为例,介绍如何配置远程访问方式,前提是服务器上已经安装好了JupyterLab。(如果是windows,亦是如此操作):
1. 生成配置文件
jupyter lab --generate-config
运行上面的命令后,会生成jupyter的配置文件,比如这里生成的配置文件为:/home/xiaobai/.jupyter/jupyter_notebook_config.py

2. 生成访问密码
运行如下代码,并输出访问Jupyter时密码,生成sha1加密密码
from jupyter_server.auth import passwd passwd()

这里输入的密码是lab123,对应生成的sha1加密密码为:sha1:adbe516d2745:aae3a189602f2078a323c71b413fee063226f7ba
注意:
-
在旧版本的JupyterLab中,
passwd导入方式改为:from notebook.auth import passwd -
输入密码时光标不会跳,千万不要以为没输入成功。
3. 修改配置文件
在上面命令生成的配置文件末尾添加如下内容,上面的配置文件是
c.ServerApp.ip = '0.0.0.0' #设为0.0.0.1,将绑定所有地址,即所有IP地址都可以访问 c.ServerApp.password = u'sha1:adbe516d2745:aae3a189602f2078a323c71b413fee063226f7ba' c.ServerApp.open_browser = False #启动后是否在浏览器中自动打开 c.ServerApp.port = 8888 #指定一个访问端口80,默认8888 c.ServerApp.allow_root = False #允许root用户开启 c.ServerApp.notebook_dir = "/home/xiaobai/ipython" #设置工作的文档目录
注意:
在JupyterLab的旧版本中,将c的设置项从ServerApp改为NotebookApp
allow_root: 如果用root 用户启动 jupyter lab时,必须将其设置为True。实际上不建议使用 root 启动,因为这样可能在浏览器端 cmd 窗口直接暴露 root 权限
password: 这里的密码是在第2步骤中生成的sha1加密版的密码。
port: 示例中设置的 8888 端口
应该是一个未被占用的端口,如果设置的端口被已经被占用,会依次尝试后面的端口,比如8889。
是一个被防火墙允许的端口,如果是阿里云、腾讯云等服务器需要在官网修改安全策略。
notebook_dir:设置的是工作的文档目录,需要自行选择并创建(否则运行时会报错)
mkdir /home/xiaobai/ipython
4. 启动JupyterLab服务为后台进程
nohup jupyter lab &

更多插件补充
-
go to definition: 在Lab笔记本和文件编辑器中跳转到变量或函数的定义。
-
lsp:自动补全、参数建议、函数文档查询、跳转定义等
-
sql: 可以在Lab中连接数据库,并进行sql查询和修改操作
-
drawio:非常棒的流程图工具
- spreadsheet:在Lab上显示excel表格(只读模式)
- gather: 在Lab中清理代码,恢复丢失的代码以及比较代码版本的工具 效果预览
- github: 安装后Lab左侧会出现一个github栏按钮,你可以在里面搜索github项目,并且打开项目里面的文件,如果是notebook文件,能够直接运行代码
- toc: 方便地在Lab上展示notebook或者markdown的目录
- LaTeX:编辑并预览LaTeX文档
- HTML: Lab内部呈现HTML文件
- plotly(https://github.com/jupyterlab/jupyter-renderers): 展示plotly可视化效果
- bokeh: 展示bokeh可视化效果
- variableinspector: 在Lab中展示代码中的变量及其属性,类似RStudio中的变量检查器
- matplotlib:启用matplotlib可视化交互功能
- dash: 展示plotly dash交互式面板
- monitor: 系统监视器是用于显示系统信息(内存和 cpu 使用情况)的 JupyterLab 扩展。它用于监视自己的资源使用情况。
2、jupyterlab-kite
另一款代码补全插件,kite 在 Python 代码的自动补全能力一直都是业界领先水平,据说背后还使用了 AI 技术,让代码补全更智能,不妨试试看~

5、jupyterlab-system-monitor
服务性能监控插件,可以在界面中添加资源监视器部件,直接查看CPU、内存的实时占用情况,遇到密集运算,还是很实用的哦~

绘图是用于渲染绘图图表的 JupyterLab 插件,可以监视 jupyter-Render 目录并在监视模式下运行 JupyterLab。
如果你是数据科学家,则 Matplotlib 是必须学习(must-learn)的 Python 库。该库是 Python 中一个基础但强大的数据可视化工具。但当我们使用 Jupyter Lab 时,交互特征消失了。
jupyter-matplotlib 插件可以使 Matplotlib 再次具备交互性。只需要输入一个魔术命令 %matplotlib widget 来启动它,则你的精美 3D 图表就变成交互式的。

Voyager 是一个 JupyterLab MIME 渲染器插件,用于查看 Voyager 中的 CSV 和 JSON 数据。这是一个简单的解决方案,允许可视化数据。

jupyterlab-widgets
-
功能:支持交互式控件(如滑块、按钮等)。
安装:
pip install ipywidgets
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyterlab-topbar
功能:在顶部工具栏添加常用按钮(如重启内核、保存等)。
JupyterLab Themes
-
功能:切换暗黑/亮色主题。
安装(以暗黑主题为例):
Table of Contents (TOC)
-
功能:自动生成文档目录,方便导航。
pip install jupyterlab-toc jupyter labextension install @jupyterlab/toc



浙公网安备 33010602011771号