jupyterlab——下一代notebook

upyterlab是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的基本界面是这样的(图片来自官网)

image

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

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

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

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

image

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

image

即可达到下面的效果

image

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

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

2.手动拖拽cell

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

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

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

image

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

4.清除输出结果

选中cell右键-clear output

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

5.临时交互试验

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

image

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

更多功能

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

jupyterlab使用技巧

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

1.取消侧边栏

image

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

image

2.去除input-output

image

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

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

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

image

3.主题设置

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

image

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

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

4.为文件添加目录

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

jupyter labextension install jupyterlab-toc

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

image

专栏信息

jupyterlab——下一代notebook - 知乎 (zhihu.com)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容