Notebook 7 的新功能#

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

调试器#

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

a screenshot of the debugger

实时协作#

Notebook 7 允许使用实时协作扩展,这样您就可以与其他用户共享您的 notebook 并进行实时编辑。

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

pip install jupyter-collaboration

或使用 conda 安装

conda install -c conda-forge jupyter-collaboration

安装扩展后,请重启 Jupyter Server 以便加载扩展。

注意

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

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

目录#

Notebook 7 包含一个新的目录扩展,允许您使用侧边栏在 notebook 中导航。目录功能是内置的并默认启用,就像在 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,这个可访问性瓶颈已被解决。CodeMirror 6 是对文本编辑器的完全重写,并特别关注可访问性。尽管这次升级需要大量的代码库修改,但这些更改已在 JupyterLab 4 中可用。由于 Notebook 7 是基于 JupyterLab 构建的,它直接受益于 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 扩展是另一个已被移植以适配 Notebook 7 的流行 JupyterLab 扩展。它允许您将 Jupyter Notebook 变成幻灯片。请参阅安装说明

以文档为中心的用户体验#

尽管有所有新功能,但正如 JEP 79 中所述,Notebook 7 保持了经典 Notebook 以文档为中心的用户体验

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

移动设备上的紧凑视图#

Notebook 7 在移动设备上会自动切换到更紧凑的布局,方便随时随地运行代码。

a screenshot of the compact view on mobile devices

参考资料#

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

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

  • Notebook 7 的迁移指南,其中解释了如何从经典 Notebook 迁移到 Notebook 7。