Jupyter Notebook是一个易于使用的开源工具,用于基于Web的交互式计算。它支持超过40种不同的编程语言,例如R、Python、Java等,因此大多数数据科学专业人士倾向于使用Jupyter Notebook来创建和分享包含代码、方程、可视化、计算输出、Markdown文本等的文档。
Jupyter Notebook的基本环境更适合于一般培训和教育机器学习/深度学习模型开发需求。然而,原始环境缺少某些功能,使得处理复杂代码变得繁琐。在这种情况下,Jupyter Notebook扩展就显得非常有用,可以简化上述任务。
这些扩展是简单的插件,可以改善Jupyter Notebook环境的核心功能。这些扩展可以自动格式化代码,在单元格运行时提供信息,并在代码执行完成时显示浏览器消息。这些扩展是用JavaScript编写的,目前仅在Jupyter Notebooks环境中支持。需要注意的是,这些扩展在Jupyter Lab中不受支持。
本文提到的所有扩展都可以通过开源包‘jupyter_contrib_nbextensions’获得。这个Python包包含了社区提供的多个非官方扩展,扩展了Jupyter Notebook的能力。如前所述,由于大多数扩展是用JavaScript编写的,因此可以在浏览器中本地运行。
将在命令提示符中运行以下代码来安装这些Jupyter Notebook扩展:
pip install jupyter_contrib_nbextensions
接下来,运行以下代码将nbextensions文件添加到Jupyter服务器的搜索目录中:
jupyter contrib nbextension install
安装完成后,打开Jupyter Notebook。将看到一个新标签,“Nbextensions”将出现在菜单中(如图片所示)。
当点击它时,将看到一个可用扩展的列表,可以使用这些扩展来提高Jupyter Notebook的生产力。如果Nbextensions菜单没有显示,请重新启动Jupyter Notebook以重新加载它。
正如所看到的,有各种各样的扩展可用于特定目的,如代码格式化、单元格操作、代码自动补全、拼写检查、语言翻译等。这些扩展可以提高Jupyter Notebook的生产力。
现在让探索并测试来自Nbextensions包的11个扩展,这些扩展可以改善现有的Jupyter Notebook的性能。这些扩展不一定是按照特定顺序排列的。
这个简单快捷的扩展允许使用‘Alt-up’和‘Alt-down’键盘快捷键移动选定的单元格。使用简单的按键操作移动单元格或单元格组非常有用。要激活它,请勾选“移动选定的单元格”复选框。
这个扩展是那些由于缺乏自动补全功能而在Jupyter Notebook中编写代码遇到困难的人的好选择。通过勾选‘Hinterland’框,Jupyter Notebook中的自动补全被激活,将能够快速编写代码。
这个扩展包括多个Python库(如Matplotlib、Numpy、SciPy等)的现成代码片段,允许通过单击添加相关的代码片段。使用代码片段菜单,不必浏览整个文档来搜索语法,因为所有必要的语法都可以通过这个扩展在一个地方获得。
Runtools是IPython笔记本的另一个不错的扩展,它提供了执行代码单元格的额外功能。勾选“Runtools”框以激活它。当激活它时,会注意到工具栏上出现了以下符号。
这个扩展允许通过文件名过滤Jupyter笔记本文件树(或仪表板)页面。
通过勾选“隐藏输入”和“隐藏所有输入”复选框,可以分别隐藏单个单元格的输入或所有输入。刷新笔记本后,将在工具栏上看到以下图标。
在Nbextensions中选择“目录(2)”选项以在Jupyter Notebook中启用此扩展。刷新笔记本后,将在工具栏上看到以下符号。
顾名思义,拼写检查器扩展有助于突出显示笔记本中Markdown单元格的拼写错误。当在不同的编码平台上分享笔记本时,这很有用。
这个扩展允许在代码单元格中折叠代码。选择“代码折叠”选项以在Jupyter Notebook中激活此扩展。刷新笔记本后,将在代码单元格的左侧看到以下符号。
可以在笔记本中拥有由标题分隔的可折叠部分。当点击它时,Markdown标题单元格会折叠。勾选“可折叠的标题”框以激活它。
当需要阅读外语笔记本时,这个扩展将非常有用。只需在Jupyter笔记本中启用Nbextensions中的“nbTranslate”,工具栏上就会出现一个扳手图标。