Jupyterlab:超级强大的下一代 Jupyter Notebook

jupyterlab, 新一代jupyter notebook, python数据分析

Jupyterlab:超级强大的下一代 Jupyter Notebook

文 | Parul Pandey 译 | EarlGrey

数据显示,Github上有超过300万个 Jupyter Notebook 可供公开使用。 私有的 Notebook 数量也大致相同。 即使没有这些数据佐证,我们也非常清楚Jupyter Notebook在数据科学领域的普及程度。

编写代码,检查结果,获得丰富输出的可能性,是真正使 Jupyter Notebook 受欢迎的一些功能。 但据说所有好事(必须)都会结束,我们最喜欢的Notebook也是如此。 * _ JupyterLab 最终会取代经典的 Jupyter Notebook_ *

但这毕竟是件好事。

Jupyterlab

JupyterLabProject Jupyter的下一代用户界面,提供所有熟悉的经典Jupyter笔记本构建模块(Notebook,终端,文本编辑器,文件浏览器,丰富的输出等),还有灵活而强大的用户界面。 Jupyterlab 的基本理念是将经典 notebook 中的所有功能以及新特性整合在一起。

如果您对Jupyter Lab完全不熟悉,可以直接从头开始阅读本文。 但是,如果您已经开始使用Jupyterlab 并且希望了解进阶功能,请跳过前四部分并直接跳到 第5部分。 当然,请确保您使用的是最新版本。

1、安装

JupyterLab 可以使用 condapippipenv来安装。

conda install -c conda-forge jupyterlab
pip install jupyterlab
pipenv install jupyterlab
pipenv shell


启动 JupyterLab

只需在控制台上键入以下内容,即可启动Jupyterlab:

jupyter lab

JupyterLab将在浏览器中自动打开,界面类似于下图。 这意味着一切都正常。

由于我在Jupyter Lab中安装了 PythonR,我的工作表上有这两门语言的图标。

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-extensionnpm)上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部署进行身份验证。 验证方式,具体请参考:

  1. https://github.com/jupyterlab/jupyterlab-google-drive/blob/master/docs/setup.md

  2. https://developers.google.com/identity/sign-in/web/sign-in

用法

如果有人共享了notebook文件或者markdown文件,它将出现在Jupyterlab的“与我共享”文件夹中。 我们可以在那里打开和编辑它。

Github Extension

它是用于访问GitHub代码库的JupyterLab扩展。 此扩展允许我们选择GitHub组织和用户,浏览其代码库,并打开其中的文件。 如果这些文件是笔记本,我们可以像运行任何其他笔记本一样运行它们。

安装

jupyter labextension install @jupyterlab/github


安装后,我们需要从GitHub获取凭据。

用法

jupyterlab-git是使用git进行版本控制的JupyterLab扩展。

安装

要安装,请执行以下步骤:

jupyter labextension install @jupyterlab/git
pip install jupyterlab-git
jupyter serverextension enable --py jupyterlab_git


用法

Drawio插件是一个JupyterLab扩展,用于将drawio独立集成到Jupyterlab中。 它是一个免费的在线图表软件,可用于制作流程图,流程图,组织结构图,UML,ER和网络图。

安装

jupyter labextension install jupyterlab-drawio


用法

这些扩展确实使JupyterLab脱颖而出。 将所有工具放在单个工作场所使其非常有用,因为不必在不同的环境之间切换以完成工作。 除了上述扩展之外,还有许多其他版本,也可以随意尝试。

结论

JupyterLab是真正的下一代基于Web的用户界面。 它提供了交互式计算工具和精心设计的界面,允许用户以新颖的方式组合它们。

它非常强大,并提供了各种强大的工具,使数据分析过程更加顺畅,绝对更高效。

原文: https://towardsdatascience.com/jupyter-lab-evolution-of-the-jupyter-notebook-5297cacde6b