Jupyter 交互式开发入门

知识库
知识库文档
/tech-stacks/jupyter/tutorial/Jupyter 交互式开发入门.md

文档

Jupyter 交互式开发入门教程

第一章:Notebook 结构

Jupyter Notebook 由 Cell 序列组成,两种核心类型:

  • Code Cell:包含可执行代码。Shift+Enter 执行,输出直接显示在 Cell 下方
  • Markdown Cell:包含格式化文档。支持标题、列表、链接、图片、LaTeX 数学公式

内核(Kernel)

每个 Notebook 连接一个内核进程,它维护代码执行后的全部变量。重启内核 = 清空所有变量。

第二章:JupyterLab vs 经典 Notebook

特性 JupyterLab 经典 Notebook
界面 IDE 风格,多标签 单页面
终端 内置
文件管理 侧边栏拖放 简单文件列表
扩展系统 丰富 有限
适用场景 日常开发 快速笔记

推荐:新用户直接用 JupyterLab。

第三章:魔术命令全解

魔术命令以 %(行魔术)或 %%(Cell 魔术)开头:

# 性能分析
%timeit sum(range(100000))
%prun some_function()

# 环境管理
%env PATH
%pwd  # 当前工作目录
%cd /path

# 外部代码
%load myscript.py       # 加载文件到 Cell
%run myscript.py        # 运行 Python 文件
%%writefile output.py   # 将 Cell 内容写入文件

# 显示
%matplotlib widget      # 交互式图表
%config InlineBackend.figure_format = 'svg'  # 高清图

第四章:分享与导出

# 导出为多种格式
jupyter nbconvert --to html notebook.ipynb
jupyter nbconvert --to pdf notebook.ipynb
jupyter nbconvert --to slides notebook.ipynb  # 幻灯片
jupyter nbconvert --to markdown notebook.ipynb

隐藏代码(适合报告)

在 Cell 中设置 Tag:hide-input。或使用 --no-input

jupyter nbconvert --to html --no-input notebook.ipynb

第五章:生产级 JupyterHub

多用户场景(教学/企业):

用户 → 浏览器 → JupyterHub → 为每人启动独立 JupyterLab Pod/容器

每个用户有独立环境、持久化存储。支持 GitHub OAuth / LDAP 认证。

思考题

  1. Jupyter 的内核和 Notebook 的关系是什么?为什么内核挂了,Notebook 还能保存?
  2. .ipynb 文件里实际存的是什么?它是纯文本吗?
  3. Jupyter 在数据科学中为何不可替代?VSCode 的 .py + # %% 能否平替?

信息

路径
/tech-stacks/jupyter/tutorial/Jupyter 交互式开发入门.md
更新时间
2026/5/31