数据显示,Github上有超过300万个 Jupyter Notebook 可供公开使用。私有的 Notebook 数量也大致相同。即使没有这些数据佐证,我们也非常清楚Jupyter Notebook在数据科学领域的普及程度。
编写代码,检查结果,获得丰富输出的可能性,是真正使 Jupyter Notebook 受欢迎的一些功能。但据说所有好事(必须)都会结束,我们最喜欢的Notebook也是如此。* _ JupyterLab 最终会取代经典的 Jupyter Notebook_ *
但这毕竟是件好事。
Jupyterlab
JupyterLab是 Project Jupyter的下一代用户界面,提供所有熟悉的经典Jupyter笔记本构建模块(Notebook,终端,文本编辑器,文件浏览器,丰富的输出等),还有灵活而强大的用户界面。Jupyterlab 的基本理念是将经典 notebook 中的所有功能以及新特性整合在一起。
如果您对Jupyter Lab完全不熟悉,可以直接从头开始阅读本文。但是,如果您已经开始使用Jupyterlab 并且希望了解进阶功能,请跳过前四部分并直接跳到 第5部分。当然,请确保您使用的是最新版本。
1、安装
JupyterLab 可以使用 conda, pip或 pipenv来安装。
- conda install -c conda-forge jupyterlab
- pip install jupyterlab
- pipenv install jupyterlab
- pipenv shell
启动 JupyterLab
只需在控制台上键入以下内容,即可启动Jupyterlab:
jupyter lab
JupyterLab将在浏览器中自动打开,界面类似于下图。这意味着一切都正常。
由于我在Jupyter Lab中安装了 Python和 R,我的工作表上有这两门语言的图标。
2、交互界面
在使用各种功能之前,让我们先了解一下交互界面。
- 菜单栏
菜单栏具有顶级菜单,可显示Jupyter Lab中可用的各种操作。
- 左侧边栏
这包括常用的选项卡。通过在“视图”菜单中选择“显示左侧边栏”或单击活动侧边栏选项卡,可以折叠或展开左侧边栏。
您可以从 Running面板查看正在运行的会话,而 Commands面板可以搜索所有可用的命令。
- 主要工作区
这是实际工作发生的区域。它包括Notebook,文档,控制台,终端等。只需双击或拖动文件到该区域即可开始工作。
此外,您可以通过将Jupyter Lab的URL中的 lab更改为 tree来切换经典的 Notebook视图和 JupyterLab视图。
3、创建和保存文件
在本节中,我们将快速了解如何使用Jupyter Lab中的文件。
创建文件
只需单击主菜单中的“+”图标即可。这将在主工作区中打开一个新的Launcher选项卡,使我们能够创建Notebook,控制台,终端或文本编辑器。
使用 File选项卡也可以实现相同的操作。打开后,可以重命名甚至下载文件。
打开现有文件
打开文件是一个非常简单的过程。双击它们或通过上面的 File选项卡访问它们。
这些只是Jupyterlab的基础知识。现在让我们继续讨论它的实际功能以及它优于传统Notebook的部分。
4、灵活的布局
经典的Jupyter笔记本还支持内置的文本编辑器和终端,但这些选项使用不多,因为它们大多是隐藏在视线之外的。另一个原因是所有这些组件都作为独立功能运行,而不是集成的。
Jupyter Lab倾向于通过将所有功能集成到单个交互式协作环境中。
- Notebook
JupyterLab中使用的 Notebook文档格式与经典的Jupyter笔记本中的相同。现有的笔记本应该在JupyterLab中正确打开,我们可以在那里进行常规分析。
- 文本编辑器
文本编辑器可以编辑文件。文本编辑器包括语法突出显示,可配置缩进(制表符或空格), 键映射和基本主题。可以在“设置”菜单中找到这些设置。
- 终端
JupyterLab的终端,支持 Mac / Linux 和Windows等各种系统提供的shell。我们可以使用终端在系统shell中运行任何东西,包括vim或emacs等程序。
读到这里,可能会有人说:所有这些功能在经典Notebook中都有,Jupyter Lab到底有什么与众不同?
事实上,Jupyterlab 为我们提供了一个非常灵活的布局系统,允许打开多个选项卡,并排拖动并以几乎无限的灵活性调整它们,这是之前所没有的。
5、增强的Notebook功能
Jupyterlab 不是Notebook格式的重新实现,而是一个基于所有现有架构之上的新前端。这种新的前端,使得我们可以实现在经典Notebook中无法实现的功能。主要包括:
展开和折叠单元格
在Notebook中拖放单元格
编辑器中的tab自动补全
文本编辑器现在具有代码自动完成功能。但是,目前只有在同时打开文本编辑器和控制台时,才能够使用。
主题
可以对JupyterLab,或者单独对文本编辑器设置主题。
6、支持的文件格式
Jupyter Lab还支持其他格式的文件,例如:
- 图片:jpeg,png和Gifs
- geojson
- Vegalite文件,geojson文件,
- PDF文件
- 高性能CSV查看器
Jupyter Lab基本上可以渲染任意大的CSV,这些CSV通常在Excel中无法打开。虽然现在尚未具有很强的互动性,但很快就会有一些改进。
7、交互式计算
Jupyter的真正强大之处,在于它支持交互式计算,尤其对于数据科学非常有用。
为输出创建新视图
我将使用官方Jupyter Github页面中的 Lorenz微分方程Notebook。运行几个单元格后,我们将交互式Lorenz atrractor 作为输出。但是当我们有一个交互式输出时,必须向上和向下滚动才能查看相关代码。Jupyter Lab为我们提供了一个方案,可以将输出放到新选项卡中。还提供了一种 伪仪表板,支持使用滑块并更改参数。
同一文件的新视图
有时我们的笔记本太长了,所以我们可以在一个实例中有两个相同(或不同)笔记本的视图。当我们想要同时查看笔记本的顶部和底部时,这可能很有用。
在笔记本之间拖放/编辑单元格
我们知道可以在Notebook中拖动单元格。但是在Jupyterlab 中,还可以在不同的Notebook之间拖动单元格。此外,一个Notebook中的更改也会同步到另一个Notebook中。
简化代码文档流程
代码的阅读频率高于编写代码。 文档是编程的一个非常重要的方面,Jupyter Lab使编写文档更容易。在markdown文件中编写文档时,有一个问题是必须在不同的控制台中运行代码,以检查它是否正常运行,然后将其包含在文件中。一次又一次地切换选项卡很烦人。
Jupyter Labs允许您将编辑器和控制台组合到一个视图中。因此,您可以一边检查代码和文档,同时预览整个文件。
8、扩展
JupyterLab是一个可扩展的环境。这些扩展是非常强大的工具,可以提高工作效率。JupyterLab扩展,其实是 npm包(Javascript开发中的标准包格式)。在GitHub上有许多社区开发的扩展。您可以搜索GitHub主题 jupyterlab-extension来查找扩展名。
要安装JupyterLab扩展,您需要安装 Node.js,可以从他们的 网站或像下面这样安装。
- conda install -c conda-forge nodejs
- brew install node
安装扩展
可以使用以下命令安装新扩展:
- jupyter labextension install <my-extension>
其中 my-extension是 npm)上JupyterLab扩展npm包的名称。使用 my-extension@version语法安装特定版本的扩展,例如:
- jupyter labextension install my-extension**@1**.2.3
我们接下来,谈谈一些经常使用并且非常强大的扩展:
Google Drive Extension
此扩展程序会在JupyterLab的左侧面板中添加Google Drive文件浏览器。当您登录自己的Google帐户时,您可以将存储在其中的文件提供给JupyterLab。
安装
- jupyter labextension install @jupyterlab/google-drive
除了安装扩展程序之外,您还必须使用Google对JupyterLab部署进行身份验证。验证方式,具体请参考:
- https://github.com/jupyterlab/jupyterlab-google-drive/blob/master/docs/setup.md
- https://developers.google.com/identity/sign-in/web/sign-in
用法
如果有人共享了notebook文件或者markdown文件,它将出现在Jupyterlab的“与我共享”文件夹中。我们可以在那里打开和编辑它。
Github Extension
它是用于访问GitHub代码库的JupyterLab扩展。此扩展允许我们选择GitHub组织和用户,浏览其代码库,并打开其中的文件。如果这些文件是笔记本,我们可以像运行任何其他笔记本一样运行它们。
安装
- jupyter labextension install @jupyterlab/github
安装后,我们需要从GitHub获取凭据。
用法
- Git Extension
jupyterlab-git是使用git进行版本控制的JupyterLab扩展。
安装
要安装,请执行以下步骤:
- jupyter labextension install @jupyterlab/git
- pip install jupyterlab-git
- jupyter serverextension enable –py jupyterlab_git
用法
- Drawio插件
Drawio插件是一个JupyterLab扩展,用于将drawio独立集成到Jupyterlab中。它是一个免费的在线图表软件,可用于制作流程图,流程图,组织结构图,UML,ER和网络图。
安装
- jupyter labextension install jupyterlab-drawio
用法
这些扩展确实使JupyterLab脱颖而出。将所有工具放在单个工作场所使其非常有用,因为不必在不同的环境之间切换以完成工作。除了上述扩展之外,还有许多其他版本,也可以随意尝试。
结论
JupyterLab是真正的下一代基于Web的用户界面。它提供了交互式计算工具和精心设计的界面,允许用户以新颖的方式组合它们。
它非常强大,并提供了各种强大的工具,使数据分析过程更加顺畅,绝对更高效。