![73a6e9a0abf264c0f202397167d2f34a.png](https://i-blog.csdnimg.cn/blog_migrate/7b1ee6900347faa84fb376902243c62e.jpeg)
文 | Parul Pandey 译 | EarlGrey
数据显示,Github上有超过300万个 Jupyter Notebook 可供公开使用。私有的 Notebook 数量也大致相同。即使没有这些数据佐证,我们也非常清楚Jupyter Notebook在数据科学领域的普及程度。
编写代码,检查结果,获得丰富输出的可能性,是真正使 Jupyter Notebook 受欢迎的一些功能。但据说所有好事(必须)都会结束,我们最喜欢的Notebook也是如此。* _ JupyterLab 最终会取代经典的 Jupyter Notebook_ *
但这毕竟是件好事。
Jupyterlab
![02aa40c29c40b3269c303d057b885e58.png](https://i-blog.csdnimg.cn/blog_migrate/9c508c058db4228cd062f32b4dfc9e83.jpeg)
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将在浏览器中自动打开,界面类似于下图。这意味着一切都正常。
![3467243d3a7fc845b1163a0815eda449.png](https://i-blog.csdnimg.cn/blog_migrate/75a81a359da8960dbb64790857e5f9a0.jpeg)
由于我在Jupyter Lab中安装了 Python
和R
,我的工作表上有这两门语言的图标。
2、交互界面
在使用各种功能之前,让我们先了解一下交互界面。
![8c5f4ef571a376fd750964fe875c8fc8.png](https://i-blog.csdnimg.cn/blog_migrate/4ec56295c85d5b8886416416e9e55912.jpeg)
菜单栏
菜单栏具有顶级菜单,可显示Jupyter Lab中可用的各种操作。
左侧边栏
这包括常用的选项卡。通过在“视图”菜单中选择“显示左侧边栏”或单击活动侧边栏选项卡,可以折叠或展开左侧边栏。
您可以从 Running
面板查看正在运行的会话,而Commands
面板可以搜索所有可用的命令。
![2cb5c48271997f3c4309fbbcb82b1f58.gif](https://i-blog.csdnimg.cn/blog_migrate/4977b2f07b1cb8d96394ba729c5778d8.gif)
主要工作区
这是实际工作发生的区域。它包括Notebook,文档,控制台,终端等。只需双击或拖动文件到该区域即可开始工作。
![5eb84e47c8fb89e07929ae3809c1eef3.gif](https://i-blog.csdnimg.cn/blog_migrate/503cad004ce31bc40230069ee4c25c31.gif)
此外,您可以通过将Jupyter Lab的URL中的 lab
更改为tree
来切换经典的Notebook视图和JupyterLab视图。
![93d48cf3d0d292262420804eeb251a66.gif](https://i-blog.csdnimg.cn/blog_migrate/71f70323ba672f1c54e29a80d9f7df73.gif)
3、创建和保存文件
在本节中,我们将快速了解如何使用Jupyter Lab中的文件。
创建文件
只需单击主菜单中的“+”图标即可。这将在主工作区中打开一个新的Launcher选项卡,使我们能够创建Notebook,控制台,终端或文本编辑器。
使用 File
选项卡也可以实现相同的操作。打开后,可以重命名甚至下载文件。
![7b68643e3d5cc0515b92040ddc5a7573.gif](https://i-blog.csdnimg.cn/blog_migrate/bd22086746fb3b88af5ccd7d0b0597c9.gif)
打开现有文件
打开文件是一个非常简单的过程。双击它们或通过上面的 File
选项卡访问它们。
![ee1c61211b38feb223d4dc28c40c959e.png](https://i-blog.csdnimg.cn/blog_migrate/9089d4e63b7c35fcaf6675758972be29.jpeg)
这些只是Jupyterlab的基础知识。现在让我们继续讨论它的实际功能以及它优于传统Notebook的部分。
4、灵活的布局
经典的Jupyter笔记本还支持内置的文本编辑器和终端,但这些选项使用不多,因为它们大多是隐藏在视线之外的。另一个原因是所有这些组件都作为独立功能运行,而不是集成的。
![5be5a9018db8dc386a84eb64f76212c4.png](https://i-blog.csdnimg.cn/blog_migrate/19df42e3652baf5cfa12c5bd23be3345.jpeg)
Jupyter Lab倾向于通过将所有功能集成到单个交互式协作环境中。
Notebook
JupyterLab中使用的 Notebook文档格式与经典的Jupyter笔记本中的相同。现有的笔记本应该在JupyterLab中正确打开,我们可以在那里进行常规分析。
![0e2b325c6935d1a18cc447d6f3f30af9.gif](https://i-blog.csdnimg.cn/blog_migrate/aba8ad702656d5b5b91a04f9800defa7.gif)
文本编辑器
文本编辑器可以编辑文件。文本编辑器包括语法突出显示,可配置缩进(制表符或空格), 键映射和基本主题。可以在“设置”菜单中找到这些设置。
![d74091d8569ca51e2588029332313950.gif](https://i-blog.csdnimg.cn/blog_migrate/ea82c7431317fe2fa65d25c4275e29e9.gif)
终端
JupyterLab的终端,支持 Mac / Linux 和Windows等各种系统提供的shell。我们可以使用终端在系统shell中运行任何东西,包括vim或emacs等程序。
![9ed64689f37b2467f079aafd0e99c436.gif](https://i-blog.csdnimg.cn/blog_migrate/04d00e112be60e4bc6cc1712046b1d56.gif)
读到这里,可能会有人说:所有这些功能在经典Notebook中都有,Jupyter Lab到底有什么与众不同?
事实上,Jupyterlab 为我们提供了一个非常灵活的布局系统,允许打开多个选项卡,并排拖动并以几乎无限的灵活性调整它们,这是之前所没有的。
![f8f081998144b72e5492b61b7bb644fc.gif](https://i-blog.csdnimg.cn/blog_migrate/84d28cbdd698472e31aa4f6d1c69f42a.gif)
5、增强的Notebook功能
Jupyterlab 不是Notebook格式的重新实现,而是一个基于所有现有架构之上的新前端。这种新的前端,使得我们可以实现在经典Notebook中无法实现的功能。主要包括:
展开和折叠单元格
![7010d54ca1c524e0640c7cfe8c6a25ca.gif](https://i-blog.csdnimg.cn/blog_migrate/c0769712a08a80c748c113f7a51f52e5.gif)
在Notebook中拖放单元格
![ae6cecf64a24c5a53c44d7c1f29b5a1b.gif](https://i-blog.csdnimg.cn/blog_migrate/598911e630dc6cb5bb4877d8116fa7cf.gif)
编辑器中的tab自动补全
文本编辑器现在具有代码自动完成功能。但是,目前只有在同时打开文本编辑器和控制台时,才能够使用。
![4137da087b54999760cf274692f8784b.gif](https://i-blog.csdnimg.cn/blog_migrate/144edffb748bcc377d3c2099a9d1bbf4.gif)
主题
可以对JupyterLab,或者单独对文本编辑器设置主题。
![511655c5b4670b28fa46726e0f3344c9.gif](https://i-blog.csdnimg.cn/blog_migrate/5597ca0cac5332aa6d8d3843291109d7.gif)
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为我们提供了一个方案,可以将输出放到新选项卡中。还提供了一种 伪仪表板,支持使用滑块并更改参数。
![81af11f8a506d2369b70edeec0fb06fe.gif](https://i-blog.csdnimg.cn/blog_migrate/83b5a9ae96cca083787ac835116df993.gif)
同一文件的新视图
有时我们的笔记本太长了,所以我们可以在一个实例中有两个相同(或不同)笔记本的视图。当我们想要同时查看笔记本的顶部和底部时,这可能很有用。
![16ec726963ad0371e0712e2fb86d88a4.gif](https://i-blog.csdnimg.cn/blog_migrate/589846b21da7f61bca59524756e60e95.gif)
在笔记本之间拖放/编辑单元格
我们知道可以在Notebook中拖动单元格。但是在Jupyterlab 中,还可以在不同的Notebook之间拖动单元格。此外,一个Notebook中的更改也会同步到另一个Notebook中。
![15b23578dee17aaace2e2bc3036a8f8d.gif](https://i-blog.csdnimg.cn/blog_migrate/b53d48bafabcd7e848e7bf6d2bd32ef9.gif)
简化代码文档流程
代码的阅读频率高于编写代码。文档是编程的一个非常重要的方面,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
是 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
![e2651a3d75d67583b13ba875479e5914.png](https://i-blog.csdnimg.cn/blog_migrate/610f393b55762d08510ad23b7d5073bc.jpeg)
用法
![4ebefdc4040b725713a7d02321700270.png](https://i-blog.csdnimg.cn/blog_migrate/2294a37f109e9b8596933a7ea101cfdc.jpeg)
如果有人共享了notebook文件或者markdown文件,它将出现在Jupyterlab的“与我共享”文件夹中。我们可以在那里打开和编辑它。
Github Extension
它是用于访问GitHub代码库的JupyterLab扩展。此扩展允许我们选择GitHub组织和用户,浏览其代码库,并打开其中的文件。如果这些文件是笔记本,我们可以像运行任何其他笔记本一样运行它们。
安装
jupyter labextension install @jupyterlab/github
安装后,我们需要从GitHub获取凭据。
用法
![eca07c3907b44903687fb68facd18b77.gif](https://i-blog.csdnimg.cn/blog_migrate/eab937295e3bcce5c95981cabc12cb79.gif)
Git Extension
jupyterlab-git是使用git进行版本控制的JupyterLab扩展。
安装
要安装,请执行以下步骤:
jupyter labextension install @jupyterlab/git
pip install jupyterlab-git
jupyter serverextension enable --py jupyterlab_git
用法
![4975ce3b6d8d1f4ee15c70a4e21f02f0.gif](https://i-blog.csdnimg.cn/blog_migrate/7bb819a39e69a0e1b7cefcd40cd2ab8f.gif)
Drawio插件
Drawio插件是一个JupyterLab扩展,用于将drawio独立集成到Jupyterlab中。它是一个免费的在线图表软件,可用于制作流程图,流程图,组织结构图,UML,ER和网络图。
安装
jupyter labextension install jupyterlab-drawio
用法
![9ab48ac406b9326bf38ad20ab846b7a8.gif](https://i-blog.csdnimg.cn/blog_migrate/398eea1e81b783caaea752a6a3d77c25.gif)
这些扩展确实使JupyterLab脱颖而出。将所有工具放在单个工作场所使其非常有用,因为不必在不同的环境之间切换以完成工作。除了上述扩展之外,还有许多其他版本,也可以随意尝试。
结论
JupyterLab是真正的下一代基于Web的用户界面。它提供了交互式计算工具和精心设计的界面,允许用户以新颖的方式组合它们。
它非常强大,并提供了各种强大的工具,使数据分析过程更加顺畅,绝对更高效。
原文:https://towardsdatascience.com/jupyter-lab-evolution-of-the-jupyter-notebook-5297cacde6b
文末送书活动
活动规则大家请一定要查看,点击这篇推文哦:从今天起,每天至少送大家一本书
这篇推文的福利赠书,改为:《Python 数据科学入门》,送给本篇文章点赞最多、且符合活动要求的精选留言者。
最新赠书名单将在留言区公布,请获奖者加我好友(微信号:codingpython)领取奖励哈~
回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版
回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~
题图:pexels,CC0 授权。