jupyterlab——下一代notebook

9,330 阅读5分钟
原文链接: zhuanlan.zhihu.com

jupyterlab是jupyter notebook的下一代产品,集成了更多功能。目前开发到0.32.1版本,已经可以使用而且非常强大,据官网说法,当1.0.0版本出来之时,就会取代jupyter notebook。

本文主要介绍jupyterlab相比于jupyter notebook更加高效的功能及配置。

jupyterlab安装

如果有conda的话,可以在命令行使用下面这条命令安装

conda install -c conda-forge jupyterlab

如果有pip的话可以这样安装

pip install jupyterlab

更多安装方法请见官网

安装后只需要在命令行中输入

jupyter lab

即自动用浏览器打开。

jupyterlab基本功能

jupyterlab的基本界面是这样的(图片来自官网)

它的编辑界面和jupyter notebook几乎没有区别,jupyter notebook支持的功能、快捷键在这里也都支持。jupyterlab的优势在于它增加了许多组件和更便捷的操作。

下面我们来看一些jupyterlab独有的功能

1.同一个文档打开至多个窗口

很多时候,写代码时要参考之前的代码或者结果,而jupyter notebook中间cell的代码和输出结果经常让我们只能拖动滚动条回去看,非常麻烦。而jupyterlab则提供了一个文档在多个窗口显示的功能,仅这一个功能就足以诱惑我从jupyter notebook上转到这里来。

如上图,只需要右键上面标签,选择New View for Notebook,即可新建一个相同的标签。然后使用鼠标拖动标签,如下图所示

即可达到下面的效果

这时只对一个文档进行修改另一个会马上同步,而且两个文档的内容显示可以停留在任意位置互不干扰。当只需要一个文档时,不需要保存,直接关掉另外一个即可。

如果觉得截图不够清晰,可以看官网上的视频Create multiple synchronized views of a single notebook部分

2.快捷查看函数帮助文档

将光标放在函数位置(不需要选中),使用快捷键Shift + Tab即可调出更加详细的帮助文档。

jupyter notebook也有这个功能,但是调出来的帮助文档非常简略,因此在notebook中查看帮助文档,需要通过在函数后面加一个问号运行来实现。

3.手动拖拽cell

不仅可以在同一个文件中拖拽到指定位置,而且可以拖拽到其他文件之中,也支持一次拖拽多个cells。

4.输出结果单独窗口显示

选中cell右键-create new view for output,即可将结果显示在新的窗口中,如下图所示

如果后面写的代码要基于之前输出的某个结果或者某张图,这个功能是非常有用的,这个和第一个功能类似,但是只针对一个个输出结果,感觉更轻量级。

5.清除输出结果

选中cell右键-clear output

有时程序输出了非常多的信息,这些信息没有用时需要把它删掉。在jupyter notebook中只能删掉整个cell,或者清空代码使用空白cell运行再把代码贴回来。而用jupyterlab则可以一键清空。

6.临时交互试验

在页面上右键-new console for notebook,可以打开一个ipython窗口,在这里编写程序按Shift + Enter运行。

这个窗口可以直接调用这个文件中之前定义过的所有变量。在这个窗口中编写的代码是临时的、试验性质的,不会被加入到文档中,当测试结束,把这个界面关闭就好。它的作用在于,防止在正式文档中测试一些东西,产生一堆无用代码还要费力删除。即在不更改源文档的情况下试验一些代码。

更多功能

更多功能可以参考官方网站上的视频

jupyterlab使用技巧

这一部分旨在消除一些jupyterlab使用过程中不方便的地方

1.取消侧边栏

当打开多个窗口时,我们不希望显示如图蓝色区域。这时,蓝色区域对应的是最左侧的files选项卡(红色框位置),我们只需要再点击一下files(当前选中的)选项卡,就可以不显示左侧区域了。

2.去除input-output

当窗口打开非常多的时候,图中的红框部分就会显得很占空间,最好能把它去掉。只需要找到(windows下使用软件everything即可)anaconda3\share\jupyter\lab\themes\@jupyterlab\theme-light-extension目录下的index.css文件,在最后面加上

.jp-InputArea-prompt {
     flex: none;
     width: 10px;
     text-indent: 100%;
 }

刷新jupyterlab即可看到input-output都不见了

3.主题设置

目前jupyterlab只提供白色和黑色两种主题,通过setting-jupyterlab theme 查看更改

用jupyter notebook的人可能知道jupyter-theme项目提供了非常多优秀的主题,可惜这在jupyterlab上无法使用,jupyterlab的团队也正在开发更多主题,我们拭目以待!

如果实在想修改一些设置,也可以在之前提到的index.css文件中直接修改,此时可以看官网开发者帮助文档部分

4.为文件添加目录

只需要在命令行输入如下命令

jupyter labextension install jupyterlab-toc

再打开jupyterlab,可以发现有了contents选项,即每个文档都可以在这里找到目录

专栏信息

专栏主页:python编程

专栏目录:目录

版本说明:软件及包版本说明