Notebook 7 的新功能#

本文档描述了 Notebook 7 中的新功能,这些功能最初在相关的 Jupyter 增强提案 JEP 79 中提到。

调试器#

Notebook 7 包含一个新的调试器,允许您逐个单元格地逐步执行代码。您还可以设置断点并检查变量。

a screenshot of the debugger

实时协作#

Notebook 7 允许使用实时协作扩展,以便您可以与其他用户共享笔记本并实时编辑它。

实时协作功能与 JupyterLab 中的功能相同,并且可以作为 JupyterLab 扩展使用。它默认情况下未启用,但您可以使用 pip 安装

pip install jupyter-collaboration

或使用 conda

conda install -c conda-forge jupyter-collaboration

安装扩展后,重新启动 Jupyter 服务器,以便加载扩展。

注意

两个用户可以使用 Notebook 7 或 JupyterLab 在同一个笔记本上工作。

a screencast showing how users can collaborate on the same document with both Notebook 7 and JupyterLab

目录#

Notebook 7 包含一个新的目录扩展,允许您使用侧边栏在笔记本中导航。目录是内置的,默认情况下启用,就像在 JupyterLab 中一样。

a screenshot of the table of contents

主题和暗黑模式#

Jupyter Notebook 中现在默认提供暗黑主题。您还可以安装其他主题作为 JupyterLab 扩展。

a screenshot of the dark theme

您还可以安装许多其他 JupyterLab 主题。例如,要安装 JupyterLab Night 主题

pip install jupyterlab-night

然后刷新页面并在设置中选择新主题

a screenshot of a custom theme

国际化#

Notebook 7 现在提供了设置用户界面显示语言的功能。

用户需要将语言包作为单独的 Python 包安装。语言包分组在 GitHub 上的语言包仓库 中,可以使用 pip 安装。例如,可以使用以下命令安装法语(法国)的语言包

pip install jupyterlab-language-pack-fr-FR

安装语言包后,重新加载页面,新语言应该在设置中可用。

a screencast showing how to switch the display language in Notebook 7

注意

Notebook 7 和 JupyterLab 共享相同的语言包,因此可以在两个应用程序中使用相同的语言包。

无障碍性改进#

Jupyter Notebook 底层的文本编辑器(CodeMirror 5)存在重大无障碍性问题。幸运的是,由于 JupyterLab 已升级为使用 CodeMirror 6,这是一个完全重写的文本编辑器,重点关注无障碍性,因此该无障碍性瓶颈已被解除。尽管此升级需要对代码库进行大量修改,但更改已在 JupyterLab 4 中提供。由于构建在 JupyterLab 之上,Jupyter Notebook 7 直接受益于 CodeMirror 6 升级。

支持许多 JupyterLab 扩展#

Notebook 7 基于 JupyterLab,因此支持许多现有的 JupyterLab 扩展。

可以使用 pipconda 安装 JupyterLab 扩展。例如,要安装用于增强代码完成的 LSP(语言服务器协议)扩展,可以使用以下命令

pip install jupyter-lsp
conda install -c conda-forge jupyter-lsp

nbgraderRISE 这样的流行扩展已经移植到 Notebook 7 上。

nbgrader#

注意

nbgrader 扩展仍在积极开发中,尚无与 Notebook 7 兼容的版本在 PyPI 上可用。但是,在 Notebook 7 最终发布之前,将提供与 Notebook 7 兼容的版本。

a screenshot showing the nbgrader extension in Notebook 7

a second screenshot showing the nbgrader extension in Notebook 7

RISE#

RISE 扩展是另一个流行的 JupyterLab 扩展,它已移植到 Notebook 7 上。它允许您将 Jupyter 笔记本转换为幻灯片。请参阅 安装说明

以文档为中心的体验#

尽管有所有新功能,并且如 JEP 79 中所述,Notebook 7 保留了经典笔记本的以文档为中心的体验

Jupyter Notebook 应用程序提供以文档为中心的体验。也就是说,在 Notebook 应用程序中,包含文件管理器、运行工具选项卡和一些可选附加功能的登录页面是打开独立的单个文档的起点。这种以文档为中心的体验对于许多用户来说非常重要,这是本提案旨在保留的首要关键点。Notebook v7 将基于与 v6 不同的 JavaScript 实现,但它将保留以文档为中心的体验,其中每个单独的笔记本都在单独的浏览器选项卡中打开,并且可见的工具和菜单都集中在打开的文档上。

移动设备上的紧凑视图#

Notebook 7 在移动设备上自动切换到更紧凑的布局,使您能够方便地在旅途中运行代码。

a screenshot of the compact view on mobile devices

参考#

这只是对 Notebook 7 中新功能的简要概述。有关更多详细信息,您可以查看以下资源

  • JupyterLab 文档 是了解有关 JupyterLab 和可用扩展的更多信息的绝佳资源。由于 Notebook 7 基于 JupyterLab,因此 JupyterLab 的许多功能和扩展也适用于 Notebook 7。

  • 迁移指南,介绍如何从经典笔记本迁移到 Notebook 7。