全部文章

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 插件如何选择?》一文我讲到过:JupyterLabvescode+插件才是今后作为科学计算研究工具的首选,那么如何才能在开始菜单打开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:创建桌面快捷方式​​

  1. 右键点击桌面 → ​​新建​​ → ​​快捷方式​​。
  2. 输入目标位置(上一步找到的路径):
  3. 命名快捷方式(如 JupyterLab)。

​​步骤 3:将快捷方式固定到开始菜单​​

  1. 右键点击桌面上的 JupyterLab 快捷方式 → ​​固定到“开始”菜单​​。
  2. 在开始菜单的“最近添加”或自定义文件夹中找到它。

2.直接通过命令启动​

Win + R 快速启动​​:
按 Win + R,输入以下命令后回车:

jupyter-lab

需确保 Conda 的 Scripts 目录已添加到系统环境变量 Path

3.JupyterLab指定启动环境

方法 1:在目标 Conda 环境中直接启动 JupyterLab​

  1. ​激活目标环境​​(如 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​​:
jupyter lab
  • 所有已安装 ipykernel 的 Conda 环境会自动显示为可用内核。

使用教程

支持的文件格式

jupyterlab几乎支持所有常见的文件格式:

内容界面操作-helloworld

cell操作

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

鼠标操作

快捷键

代码快捷键

  • 两种模式通用快捷键
    • 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中显示行号,可以通过以下几种方法实现:

  1. 通过菜单栏操作‌:
  • 打开Jupyter Lab界面。
  • 在菜单栏中找到“View”(视图)选项。
  • 在下拉菜单中选择“Show Line Numbers”(显示行号)以启用行号显示。
  1. 使用快捷键‌:
  • 在Jupyter Lab的命令模式下,按下Shift + L快捷键可以切换行号的显示与隐藏。
  1. 通过配置文件设置默认显示行号‌:
  • 找到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​​

  1. 功能:设置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_formatter
jupyter labextension install @ryantam626/jupyterlab_code_formatter
​​@jupyterlab/debugger​​ 集成调试器(需内核支持) pip install xeus-python
jupyter labextension install @jupyterlab/debugger
​​@krassowski/jupyterlab-lsp​​ 代码智能补全 + 定义跳转 pip install jupyterlab-lsp
jupyter labextension install @krassowski/jupyterlab-lsp

​​2. 可视化类​​

插件名 功能 安装命令
​​jupyterlab-drawio​​ 集成 Draw.io 流程图工具 pip install jupyterlab-drawio
jupyter labextension install jupyterlab-drawio
​​jupyterlab-toc​​ 自动生成文档目录 pip install jupyterlab_toc
jupyter labextension install @jupyterlab/toc
​​jupyterlab-plotly​​ 增强 Plotly 交互式图表支持 pip install jupyterlab-plotly
jupyter labextension install jupyterlab-plotly

​​3. 协作与分享​​

插件名 功能 安装命令
​​jupyterlab-git​​ Git 版本控制集成 pip install jupyterlab-git
jupyter labextension install @jupyterlab/git
​​jupyterlab_onedarkpro​​ One Dark Pro 主题 jupyter labextension install @yeebc/jupyterlab_onedarkpro
​​jupyterlab-link-share​​ 生成分享链接 pip install jupyterlab-link-share
jupyter labextension install jupyterlab-link-share

​​4. 效率工具​​

插件名 功能 安装命令
​​jupyterlab-system-monitor​​ 实时监控 CPU/内存使用 pip install jupyterlab-system-monitor
jupyter 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、内存的实时占用情况,遇到密集运算,还是很实用的哦~

6、JupyterLab plotly

绘图是用于渲染绘图图表的 JupyterLab 插件,可以监视 jupyter-Render 目录并在监视模式下运行 JupyterLab。

效果预览

 

8、JupyterLab Matplotlib

如果你是数据科学家,则 Matplotlib 是必须学习(must-learn)的 Python 库。该库是 Python 中一个基础但强大的数据可视化工具。但当我们使用 Jupyter Lab 时,交互特征消失了。

jupyter-matplotlib 插件可以使 Matplotlib 再次具备交互性。只需要输入一个魔术命令 %matplotlib widget 来启动它,则你的精美 3D 图表就变成交互式的。

效果预览

 

 

10、JupyterLab Voyager

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

     

posted @ 2025-04-14 17:56  指尖下的世界  阅读(694)  评论(0)    收藏  举报