Jupyter

定位

Jupyter Notebook 是一个开源的交互式计算环境,主要用于数据分析、机器学习、科学计算和教学。有两种版本,jupyter labjupyter notebook,以下均以jupyter notebook展开。

它最大的特点是:
可以把 代码、运行结果、公式、图表、Markdown 文本 放在同一个文档里,边写边运行,适合做实验、记录过程和展示结果。

Jupyter 支持多种编程语言,其中最常用的是 Python。
常见用途包括:

  • 数据分析与可视化
  • 机器学习实验
  • 深度学习训练记录
  • 数学推导与科研
  • 教学演示
  • AI 与数据科学项目开发

.ipynb 是 Jupyter Notebook 的文件格式,本质上是一个包含代码与文本内容的交互式笔记本。


安装

就像各种下载依赖和包一样,都是通过 pip installconda install 来下载。

但是如果你下载的是Anaconda,那么他是默认带Jupyter的,而Miniconda不自带Jupyter。

若果是Anaconda,则按 Win 右键进到目录把快捷键发送到桌面即可。
8f97b08e-fa8b-4e10-a147-01a3afde8d5a.png

2f3278f0504dcc5c36b1cb59fed3eca1.png


这里可以先在cmd里执行:

1
where pip

他会列出conda的base环境和系统全局级的python的pip的优先级。那个在上面,那个的优先级就高(即默认使用 pip 命令时就会调用优先级高的环境,所以说pip install xxx也就会下到对应的环境)。一般来说你先下载的python优先级就高,所以说系统级的pip更高,因为大多数人都是先前下载过系统级python再接着下载Anaconda/Miniconda。但我之前把系统的python删除重新下载就不是最高优先了,而是变成了conda的base环境的pip最高。这个优先级取决于环境变量中的条目哪条在前面,如图:

932f9691-62b0-4110-adb3-8b592f3b386c.png

38897244-c24d-41c1-bbb8-89d15c02cf94.png


  1. 安装jupyter

    1
    pip install jupyter  
  2. 启动,在cmd中执行:

    1
    jupyter notebook

    ⚠️ 这时候的终端窗口不能关闭,最小化就行。相当于后端的服务器,关了之后浏览器的前端页面就报错。

    这里有几点建议:一是在D盘下创建一个专门的文件夹用来存放 .ipynb 文件;二是启动时先从文件的顶部进入cmd,这时候在浏览器里显示的就是你的文件夹目录。
    20260515-0746-28.6655794.gif

  3. 汉化

    1
    pip install jupyterlab-language-pack-zh-CN

    在 Jupyter 界面中:Settings → Language → 中文(简体),刷新页面即可。


基本的使用方法

两种模式:

  • 命令模式(没有光标闪烁时):按 Esc 进入,操作 cell
  • 编辑模式(光标在框内闪烁时):按 Enter 进入,编辑内容

三种Cell 类型:

  • Code:写 Python 代码,运行后显示输出
  • Markdown:写文档、标题、公式(LaTeX)
  • Raw:原始文本,不会被 Jupyter 处理/渲染,原样保留

常用的就这几个:

快捷键 功能
Shift + Enter 运行当前 cell,跳到下一个
Ctrl + Enter 运行当前 cell,不跳转
Alt + Enter 运行当前 cell,并在下面新增一个空cell
A 在上方插入 cell(命令模式)
B 在下方插入 cell(命令模式)
DD 删除当前 cell(命令模式)
M 切换为 Markdown cell(命令模式)
Y 切换为 Code cell(命令模式)
R 切换为 Raw cell(命令模式)
Z 撤销
Ctrl + S 保存

jupyter 以 cell 为单位,如果上面的 cell 还未执行,下面的cell就会报错。例如先执行 print(a) 就会报错,因为上面的 a = 9 未先执行:
20260515-1128-09.6285111.gif


创建/切换内核

情景:如果在全局级python环境或者是conda的base环境下载了jupyter,但是想用conda的环境里面的依赖怎么搞?不可能每个房间(环境)都下载完整的jupyter吧?

如果每个虚拟环境都安装一个完整的 JupyterLab 或 Jupyter Notebook,不仅极大地浪费硬盘空间,还会导致各种包冲突,管理起来非常混乱。

只需要在一个主环境(通常是 Conda 的 base 环境或者你的全局级 python 环境)中安装完整的 Jupyter 软件。对于其他的环境(比如你的 DL、ML、web、abc),你只需要在里面安装一个“通信插头”,把它接入到主环境的 Jupyter 中就可以了。

这个“通信插头”的名字叫做:ipykernel。

  1. 在其他 conda 环境中安装 ipykernel

    1
    2
    conda activate <自定义环境名>  # 先激活你要进入的环境
    pip install ipykernel
  2. 将该环境注册为 Jupyter kernel

    1
    python -m ipykernel install --user --name <kernel内部标识符> --display-name "在jupyter网页显示的名字"

两个参数的作用:

  • –name:kernel 的内部标识符
  • –display-name:Jupyter 界面中显示的名称
  1. 在主环境启动 Jupyter,切换 kernel ,右上角选择对应的 kernel,就能用那个环境的所有依赖了。

  2. 查看 / 删除已注册的 kernel

    1
    2
    3
    4
    5
    # 查看所有已注册 kernel
    jupyter kernelspec list

    # 删除某个 kernel
    jupyter kernelspec remove <kernel内部标识符>

例子

  1. 先列出创建过的环境

    1
    conda env list

    可已看到加上自带的 base 环境共有 7 个环境。
    2c8cf2e9-1983-45ee-a5ce-d2e150b2ae0c.png

  2. 查看有 ipykernel 的环境

    1
    jupyter kernelspec list

    这里看到有三个带内核的环境,其中的 python3 是base环境。
    a69e54f6-8770-4e71-b208-ea18db7cb24a.png

  3. 在网页中验证

    可见确实是三个可选环境。
    20260515-1109-43.3327784.gif

  4. 在 abc 环境创建内核

    总体的步骤:激活 --> 下载ipykernel --> 注册环境

    激活&下载ipykernel。
    20260515-1115-18.1093029.gif

    注册环境。
    20260515-1121-03.5688816.gif

  5. 再次验证

    刷新网页已经出现 abc。
    005c0efa-5fdb-4cc3-b579-3303280217a7.png