
Jupyter Notebook 7 文档指南从计算笔记本概念到安装配置与迁移的完整导航【免费下载链接】notebookJupyter Interactive Notebook项目地址: https://gitcode.com/GitHub_Trending/no/notebookJupyter Notebook 是一个基于 Web 的交互式计算笔记本创作应用属于 Project Jupyter 生态体系。本文以仓库文档入口 docs/source/index.md 为主线系统讲解计算笔记本是什么、Jupyter Notebook 的定位与特性、安装启动方式并逐条解析官方文档目录中用户文档、配置、迁移与贡献等核心章节帮助你快速定位所需资料并正确使用这一工具。一、欢迎来到 Jupyter Notebook 文档站本仓库的文档入口页 docs/source/index.md 是整个 Jupyter Notebook 文档体系的首页它回答了两个基本问题什么是计算笔记本computational notebook以及Jupyter Notebook 在 Project Jupyter 生态中处于什么位置。1.1 什么是计算笔记本计算笔记本是一种可共享的文档它将以下内容组合在一起计算机代码computer code自然语言描述plain language descriptions数据data丰富的可视化结果rich visualizations例如 3D 模型、图表charts、图形与图像figures交互式控件interactive controls配合 Jupyter Notebook 这样的编辑器计算笔记本提供了一个快速交互的环境用于快速原型化与解释代码prototyping and explaining code探索与可视化数据exploring and visualizing data与他人分享想法sharing ideas with others从实现层面看笔记本文档本质上是JSON 格式的文本文件以.ipynb为扩展名保存。由于 JSON 是纯文本格式笔记本天然支持版本控制version-controlled并便于与同事共享。仓库中 docs/source/notebook.md 进一步说明笔记本文档保存的是一次交互会话的输入与输出同时包含伴随代码但不会被执行的说明性文本从而构成一份完整的计算记录。1.2 在 Project Jupyter 生态中的定位Jupyter Notebook 是 Project Jupyter 大家庭中众多笔记本创作应用之一其兄弟项目包括JupyterLab功能更全面、可扩展性更强的 Web 应用Jupyter Desktop桌面版应用文档明确指出与 JupyterLab 相比Jupyter Notebook 提供更轻量lightweight、更简化simplified的使用体验。这一点与仓库代码结构相互印证当前仓库的packages/目录下组织了application、console-extension、notebook-extension、tree、terminal-extension等前端包它们基于 JupyterLab 组件构建而 README.md 中说明Notebook v7 这一最新大版本正是基于JupyterLab 组件前端与Jupyter ServerPython 服务端构建是jupyter/notebook代码库的一次重大重构。从 notebook/_version.py 可以看到当前仓库版本为7.7.0a1__version__ 7.7.0a1即 7.x 系列的开发版a1表示 alpha 1其版本解析遵循 PEP 440 规范。二、Jupyter Notebook 的六大核心能力依据 docs/source/notebook.md用户文档的主干Jupyter Notebook Web 应用具备以下核心特性浏览器内代码编辑自动语法高亮syntax highlighting、自动缩进indentation、Tab 补全与内省tab completion/introspection。浏览器内代码执行计算的结果会附着attach在生成它的代码下方。富媒体输出计算结果可以多种富媒体形式呈现包括 HTML、LaTeX、PNG、SVG 等。例如 matplotlib 绘制的出版级图表可以内联显示。Markdown 富文本编辑使用 Markdown 标记语言为代码撰写注释不局限于纯文本。LaTeX 数学公式在 Markdown 单元格中使用$...$行内与$$...$$独立行书写数学符号由 MathJax 原生渲染为高质量排版LaTeX/AMS-LaTeX 标准环境如\begin{equation}、\begin{align}同样可用还支持用\newcommand定义新宏。nbconvert 导出笔记本可导出为 HTML如博客文章、reStructuredText、LaTeX、PDF、幻灯片等多种静态格式。此外任何位于公开 URL 的.ipynb文档都可以通过 Jupyter Notebook Viewernbviewer以静态网页形式分享——本质上 nbviewer 就是把 nbconvert 作为 Web 服务来使用。三、安装与启动从命令行到浏览器3.1 安装使用 pip 安装pip install notebook对于 Notebook 7 新增的实时协作、调试器等特性可以参考 docs/source/notebook_7_features.md 中的扩展安装命令详见下文迁移章节。3.2 启动服务器在命令行中启动jupyter notebook启动后控制台会打印笔记本服务器信息并自动在浏览器中打开 Web 应用地址默认http://127.0.0.1:8888。首屏仪表盘dashboard会列出笔记本目录默认为启动服务器时所在的目录中的可用笔记本。常用操作包括使用New Notebook按钮新建笔记本或点击文件名打开已有笔记本将.ipynb笔记本与标准.pyPython 源文件拖拽到笔记本列表区域即可导入绕过仪表盘直接打开某个笔记本jupyter notebook my_notebook.ipynb未给扩展名时默认补全.ipynb在已打开的笔记本内通过File | Open...菜单可在新标签页打开仪表盘可以同时启动多个服务器以处理不同目录默认第一个服务器占用 8888 端口后续服务器会自动搜索附近端口也可用--port手动指定。3.3 隐私与安全性由于 Jupyter 在浏览器中运行用户可能担心敏感数据。文档 docs/source/notebook.md 给出明确说明按标准安装方式运行时Jupyter 实际运行在你自己的计算机上当地址栏 URL 以http://localhost:或http://127.0.0.1:开头就说明本机充当服务器Jupyter 不会把你的数据发送到任何其他地方且作为开源软件任何人都可以核查这一点若使用公司或学校托管的远程服务器处理敏感数据建议咨询 IT 或数据保护部门项目致力于防止浏览器中其他页面或同机其他用户访问你的笔记本服务器详见 Jupyter Server 的安全文档。四、笔记本的用户界面与文档结构4.1 界面组成新建笔记本后你会看到四大元素笔记本名称notebook name、菜单栏menu bar、工具栏toolbar与一个空的代码单元格code cell。笔记本名称显示在页面顶部 Jupyter logo 旁对应.ipynb文件名点击名称会弹出重命名对话框例如把 Untitled0 重命名为 My first notebook实际会把Untitled0.ipynb重命名为My first notebook.ipynb。菜单栏提供操纵笔记本的各种选项工具栏则用图标快速执行最常用操作。关于各界面元素的规范命名docs/source/ui_components.md 中系统介绍了 Notebook Dashboard、Notebook Editor、File Editor 等组件的名称与用途建议在提交 bug 报告或邮件咨询时使用这些标准术语。你还可以通过菜单栏Help - User Interface Tour开启交互式 UI 导览。4.2 三种单元格类型笔记本由一系列**单元格cells**组成。单元格是多行文本输入框可用Shift-Enter执行也可点击工具栏播放按钮或菜单Cell - Run。单元格类型决定其执行行为共三种单元格类型行为与用途代码单元格Code编辑并运行代码具备语法高亮与 Tab 补全。语言取决于内核kernel默认内核 IPython 运行 Python 代码。执行结果作为输出显示在单元格下方支持 matplotlib 图形、pandas HTML 表格等富显示rich displayMarkdown 单元格用 Markdown 富文本记录计算过程支持标题1~6 个#、列表、加粗、任意 HTML 及 LaTeX 数学公式执行时 Markdown 被转换为对应格式化富文本原始单元格Raw直接书写输出内容不被笔记本求值经 nbconvert 转换时原样保留例如可写完整 LaTeX由 LaTeX 在转换后渲染4.3 基本工作流与键盘快捷键正常的工作流与标准 IPython 会话类似区别在于你可以就地反复编辑单元格直至得到理想结果而不必像过去那样用%run脚本整体重跑。推荐把计算问题拆分成多个单元格逐步推进这对耗时长、需要交互探索的任务尤其友好。关键快捷键完整列表见菜单Help - Keyboard ShortcutsShift-Enter运行当前单元格显示输出并跳到下一格在最后一个单元格执行则在其下方新建单元格Esc进入命令模式Command Mode可用快捷键在笔记本中导航Enter进入编辑模式Edit Mode可编辑单元格文本。常用中断/重启操作Kernel - Interrupt或快捷键i,i中断耗时计算Kernel - Restart或0,0重启整个计算过程。笔记本可通过File - Download as下载为.ipynb或转换为其他格式。4.4 搜索与绘图搜索Notebook 7 内置了高级搜索插件默认使用Ctrl-FmacOS 为CmdF。浏览器自带查找功能无法访问文档完整内容默认情况下若需用浏览器查找可在高级设置编辑器中禁用内置搜索快捷键或关闭窗口化渲染windowed rendering以向浏览器暴露完整文档内容代价是性能下降。绘图IPython 内核与 matplotlib 绘图库无缝集成代码单元格的输出可以内联显示图表。具体绘图库的集成属于内核kernel层面的能力。4.5 安装其他语言内核安装 Python 内核参见 IPython 安装页面其他语言如 R、Julia的内核通常自带安装说明可在 Jupyter wiki 的 Kernels 列表中找到安装后即可在笔记本中选择使用。五、信任机制Trusting Notebooks为防止打开笔记本时执行未受信任的代码系统为每个受信任的笔记本保存签名signature服务器在打开笔记本时校验该签名若未找到匹配签名HTML 与 JavaScript 输出不会显示直到重新执行单元格重新生成你自己完整执行过的笔记本会被视为受信任加载时直接显示 HTML 与 JavaScript 输出若确定笔记本无恶意但需在不重新执行的情况下查看输出可在命令行显式信任它$ jupyter trust mynotebook.ipynb信任机制的安全细节见 Jupyter Server 安全文档。仓库中 packages/notebook-extension/src/trusted.tsx 正是与信任/受信任状态相关的前端实现体现了该机制在 Notebook 7 前端中的落点。六、配置总览依据 docs/source/configuration.md 与 docs/source/configuring/config_overview.md除默认配置外Jupyter Notebook 常用配置集中在三大区域6.1 Jupyter 通用配置系统从 Notebook 到 JupyterHub、nbgrader所有 Jupyter 应用共享同一套配置系统创建配置文件与编辑设置的流程一致。底层由traitlets提供配置架构。一个典型示例是禁用自定义 CSSJupyter Notebook 6 起默认加载自定义 CSS位于 jupyter 配置目录下的~/.jupyter/custom/custom.css。除非应用初始化时设置custom_css标志为False否则该文件会被加载--JupyterNotebookApp.custom_cssFalse本仓库 notebook/custom/custom.css 即此类自定义样式的落点。关于主题定制还可参考 docs/source/custom_css.md。6.2 Jupyter Server 配置Jupyter Server 负责运行语言内核并与前端笔记本客户端通信。生成配置文件默认项全部注释的命令为$ jupyter server --generate-config该命令会在.jupyter目录创建jupyter_server_config.py。⚠️重要提醒Jupyter Notebook 7 已基于 Jupyter Server部分以往使用的notebook导入如notebook.auth、notebook.notebookapp可能失效请参考 docs/source/migrating/server-imports.md 迁移指南更新这些服务端导入。6.3 笔记本扩展Notebook 7 的前端可通过JupyterLab 扩展进行扩展详见前端扩展指南 docs/source/extending/frontend_extensions.md。仓库中packages/下*-extension系列包如application-extension、notebook-extension、tree-extension即为扩展机制的具体实现形态。七、从 Classic Notebook 迁移到 Notebook 7迁移指南 docs/source/migrate_to_notebook7.md 明确警告Notebook 7 可能破坏现有扩展或自定义项升级前务必阅读该页。7.1 迁移决策不使用扩展或自定义项的用户pip install notebook后即可无缝获得 Notebook 7 及其新特性实时协作、调试器、主题化等依赖扩展的用户寻找兼容 Notebook 7 的扩展版本并替换不可用的扩展若必须保持 Classic Notebook 兼容性可切换到nbclassic作为过渡。7.2 为什么会有大版本升级Classic Notebook 此前长期处于维护模式开发资源集中在更现代、可扩展的 JupyterLab 上导致大量新特性无法集成回 Classic Notebook。社区反馈显示 Classic Notebook 仍被广泛使用且在许多场景下仍是 Jupyter 的默认界面尤其对初学者而言 JupyterLab 可能过于复杂。因此在 2021 年底社区决定**重启sunrise**Jupyter Notebook 开发即 Notebook 7相关变更背景可参见 JEP 79 与 team-compass 记录。7.3 Notebook 7 新特性清单依据 docs/source/notebook_7_features.mdNotebook 7 带来的主要新能力包括特性说明与启用方式调试器Debugger支持逐单元格单步执行、设置断点、检查变量实时协作RTC与 JupyterLab 相同作为 JupyterLab 扩展提供默认未启用pip install jupyter-collaboration或conda install -c conda-forge jupyter-collaboration安装后重启 Jupyter Server 即可。Notebook 7 与 JupyterLab 的用户可协作编辑同一笔记本目录Table of Contents内置且默认启用可在侧边栏按标题导航笔记本主题与暗色模式默认提供暗色主题也可安装其他 JupyterLab 主题如pip install jupyterlab-night后刷新页面并在设置中选择国际化可设置界面显示语言需以 Python 包形式安装语言包如pip install jupyterlab-language-pack-fr-FR安装后刷新页面即可在设置中切换。Notebook 7 与 JupyterLab 共享同一套语言包无障碍改进底层编辑器从 CodeMirror 5 升级为 CodeMirror 6全面重写、聚焦无障碍该升级随 JupyterLab 4 落地Notebook 7 直接受益支持大量 JupyterLab 扩展例如pip install jupyter-lspLSP 语言服务器协议扩展增强代码补全nbgrader、RISE将笔记本转为幻灯片等流行扩展已移植适配 Notebook 7文档中心化体验延续 Classic Notebook 的文档中心化document-centric体验每个笔记本在独立浏览器标签页打开可见的工具与菜单聚焦于当前文档这一点正是 JEP 79 首要保留的关键点移动端紧凑视图在移动设备上自动切换为紧凑布局方便随时随地运行代码八、文档站点地图后续阅读指引docs/source/index.md中的目录树toctree给出了完整的文档导航结构转换为仓库相对路径后如下用户文档user-documentation→ docs/source/user-documentation.md聚合了 notebook.md本文核心内容来源、ui_components.md、notebook_7_features.md、pager.md、示例笔记本docs/source/examples/Notebook/、custom_css.md、插件与界面定制docs/source/configuring/、troubleshooting.md 与 CHANGELOG配置configuration→ docs/source/configuration.md配置总览、安全文档与扩展指南迁移migrate_to_notebook7→ docs/source/migrate_to_notebook7.md前端扩展、服务端扩展、服务端导入、自定义主题与多界面迁移指南贡献者contributor→ docs/source/contributor.md贡献指南与开发 FAQ变更日志changelog→ CHANGELOG.md版本演进历史。仓库中示例笔记本位于docs/source/examples/Notebook/包括 Notebook Basics、Running Code、Working With Markdown Cells、Typesetting Equations、Importing Notebooks 等是理解各类单元格用法的第一手教材tests/与ui-tests/Playwright 端到端测试如 ui-tests/test/notebook.spec.ts则从测试角度验证了笔记本、树视图、菜单等核心交互行为适合希望深入源码的读者。九、浏览器兼容性Jupyter Notebook 官方支持以下浏览器的最新版本Chrome、Safari、Firefox。较新的 Opera 与 Edge 也可能正常使用但若出现问题请使用受支持的浏览器。已知问题Safari 搭配 HTTPS 与不受信任证书时无法工作WebSocket 会失败。总结docs/source/index.md作为文档门户把计算笔记本的理念、Jupyter Notebook 的轻量定位、以及安装、使用、配置、迁移、贡献五条主线串联起来。配合 docs/source/notebook.md 的用户手册与 docs/source/notebook_7_features.md 的新特性清单你可以从零开始完成安装、写第一个笔记本、配置服务器乃至迁移扩展的完整旅程。当前仓库版本notebook/_version.py 中7.7.0a1进一步确认了这套文档对应的正是基于 JupyterLab 组件与 Jupyter Server 的新一代 Notebook 7 架构。【免费下载链接】notebookJupyter Interactive Notebook项目地址: https://gitcode.com/GitHub_Trending/no/notebook创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考