什么是 notebook 扩展插件?
Jupyter Notebook 扩展插件是扩展 notebook 环境基本功能的简单插件。它们用 JavaScript 语言编写,会自动套用代码格式或者在单元格完成后发送浏览器通知。扩展插件目前仅支持 Jupyter Notebook(不支持 Jupyter Lab)。
为什么要使用扩展插件?
Jupyter Notebook 是一个很好用的工具,可用于教学、学习、原型设计、探索和尝试新方法(甚至可用于 Netflix 的生产过程中)。但是,原版 notebook 功能有限,有时令人挫败。虽然 Jupyter Notebook 扩展插件没有完全解决这个问题,但它们确实能让你的工作变得更轻松。
插件配置安装
直接使用pip安装
> pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install
启动 Jupyter Notebook,并导航至新的 Nbextensions 选项卡:
选择你想要的扩展功能,享受它带来的优势。
(如果你没看到扩展选项,打开 notebook,单击「edit」,然后点「nbextensions config」)
在 notebook 的工具栏里可以看到扩展插件
常用插件列举
1 Table of Contents:更容易导航
如果你在一个 Jupyter Notebook 中同时开启了十几个单元格,那你想跟踪所有单元格就会有些困难。Table of Contents 通过添加 TOC 链接解决了这个问题,通过 TOC 链接你可以定位到页面中的任何位置。还可以使用该扩展插件在 notebook 的顶部添加一个链接目录。这样会显示你选择了哪一个目录以及哪一个正在运行:
2 Autopep8:轻轻一击就能获得简洁代码
我们都应该编写符合 pep8 标准的代码,但有时你会陷入分析,难以坚持这种标准。所以当你写完代码后,只要单击这个选项,就可以让代码变得简洁漂亮。
这个插件可以称得上是最好的插件了,仅需点击一下,就能完成一项耗时又乏味的工作,让你专注于思考。
注意点:这个插件还需要通过pip安装一个autopep8的工具包
3 variable inspector:跟踪你的工作空间
variable inspector 会显示你在 notebook 中创建的所有变量的名称,以及它们的类型、大小、形状和值。
这个工具对于从 RStudio 迁移过来的数据科学家来说是无价之宝。如果你不想继续打印 df.shape 或无法重新调用 x 的 type,这个工具对你来说也同样重要。
4 ExecuteTime:显示单元格的运行时间和耗时
我经常不知道某个单元格需要运行多久或者最后一次运行一个打开好几天的 notebook 是什么时候。ExecuteTime 完美解决这个问题,它会显示单元格的运行完成时间和所耗时长
的确有更好的计时方法,如 %%time,但 ExecuteTime 易于实现,且可以覆盖 notebook 中的所有单元格。
5 隐藏代码输入:隐藏过程,展示结果
虽然有些人喜欢看到某项艰苦工作的具体分析,但有些人却只想看到结果。隐藏所有输入的插件让你能够立即隐藏 notebook 中的所有代码,只保留结果。
结论
安装 Jupyter Notebook 扩展插件,花点时间弄清楚哪些有用,然后提高自己的工作效率。虽然这些功能不至于改变你的人生,但它们带来的益处也是值得的。而且累积起来为你节约了很多宝贵的开发时间。