![2bb8aa0014df0ba942a0546c8461f830.png](https://i-blog.csdnimg.cn/blog_migrate/a153e0b429c0ee08fb55b699c9bb90d1.jpeg)
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的基本界面是这样的(图片来自官网)
![9db456b78501ef420160a11c1cdd2a0d.png](https://i-blog.csdnimg.cn/blog_migrate/dec8f084a960c787b987f521cfb82435.jpeg)
它的编辑界面和jupyter notebook几乎没有区别,jupyter notebook支持的功能、快捷键在这里也都支持。jupyterlab的优势在于它增加了许多组件和更便捷的操作。
下面我们来看一些jupyterlab独有的功能
1.同一个文档打开至多个窗口
很多时候,写代码时要参考之前的代码或者结果,而jupyter notebook中间cell的代码和输出结果经常让我们只能拖动滚动条回去看,非常麻烦。而jupyterlab则提供了一个文档在多个窗口显示的功能,仅这一个功能就足以诱惑我从jupyter notebook上转到这里来。
![a2ef8ad78283e960e5e4c71b6ef1786c.png](https://i-blog.csdnimg.cn/blog_migrate/d262395cd6e52d49db17d961c6277ba4.jpeg)
如上图,只需要右键上面标签,选择New View for Notebook
,即可新建一个相同的标签。然后使用鼠标拖动标签,如下图所示
![12d1c27dcd1c3fd29fd721d092117500.png](https://i-blog.csdnimg.cn/blog_migrate/b72fc266bc9b06feca6bdfe68bf7d719.jpeg)
即可达到下面的效果
![f92ab4e26ebe11507442cadb08f18543.png](https://i-blog.csdnimg.cn/blog_migrate/7b7bba2e4074bb2baa5d6b8427f72b79.jpeg)
这时只对一个文档进行修改另一个会马上同步,而且两个文档的内容显示可以停留在任意位置互不干扰。当只需要一个文档时,不需要保存,直接关掉另外一个即可。
如果觉得截图不够清晰,可以看官网上的视频Create multiple synchronized views of a single notebook
部分
2.手动拖拽cell
不仅可以在同一个文件中拖拽到指定位置,而且可以拖拽到其他文件之中,也支持一次拖拽多个cells。
3.输出结果单独窗口显示
选中cell右键-create new view for output,即可将结果显示在新的窗口中,如下图所示
![1c2b4944af224a0885aecad9159cced5.png](https://i-blog.csdnimg.cn/blog_migrate/095656c4825af64f373a3b94d4da7fc3.jpeg)
如果后面写的代码要基于之前输出的某个结果或者某张图,这个功能是非常有用的,这个和第一个功能类似,但是只针对一个个输出结果。
4.清除输出结果
选中cell右键-clear output
有时程序输出了非常多的信息,这些信息没有用时需要把它删掉。在jupyter notebook中只能删掉整个cell,或者清空代码使用空白cell运行再把代码贴回来。而用jupyterlab则可以一键清空。
5.临时交互试验
在页面上右键-new console for notebook,可以打开一个ipython窗口,在这里编写程序按Shift + Enter
运行。
![572dc7abd80bb1483f919cb6d91193f7.png](https://i-blog.csdnimg.cn/blog_migrate/81ea931ee0b48c17788eafadf7434331.jpeg)
这个窗口可以直接调用这个文件中之前定义过的所有变量。在这个窗口中编写的代码是临时的、试验性质的,不会被加入到文档中,当测试结束,把这个界面关闭就好。它的作用在于,防止在正式文档中测试一些东西,产生一堆无用代码还要费力删除。即在不更改源文档的情况下试验一些代码。
更多功能
更多功能可以参考官方网站上的视频
jupyterlab使用技巧
这一部分旨在消除一些jupyterlab使用过程中不方便的地方
1.取消侧边栏
![c65ede655c2ee1f4e9418c35596c5dff.png](https://i-blog.csdnimg.cn/blog_migrate/f03b89c1f63cda3e95b933470244c964.jpeg)
当打开多个窗口时,我们不希望显示如图蓝色区域。这时,蓝色区域对应的是最左侧的files选项卡(红色框位置),我们只需要再点击一下files(当前选中的)选项卡,就可以不显示左侧区域了。
![cbd6d228dad4190a6cbca2afa562bc12.png](https://i-blog.csdnimg.cn/blog_migrate/d8bfc695e89eff737a2cd6def920f20f.jpeg)
2.去除input-output
![cbab564456248d2ac0a06bbc81fe9af9.png](https://i-blog.csdnimg.cn/blog_migrate/c2368a3e917f0ceec62a06bedea5735c.jpeg)
当窗口打开非常多的时候,图中的红框部分就会显得很占空间,最好能把它去掉。只需要找到(windows下使用软件everything即可)anaconda3sharejupyterlabthemes@jupyterlabtheme-light-extension
目录下的index.css
文件,在最后面加上
.jp-InputArea-prompt {
flex: none;
width: 10px;
text-indent: 100%;
}
刷新jupyterlab即可看到input-output都不见了
![22bb4473f1ee6fe346bab26f75d70597.png](https://i-blog.csdnimg.cn/blog_migrate/cbcc247b00580e0a7eaa22673654c523.jpeg)
3.主题设置
目前jupyterlab只提供白色和黑色两种主题,通过setting-jupyterlab theme 查看更改
![68b2f01b69ce37442f5d33e6aa80f364.png](https://i-blog.csdnimg.cn/blog_migrate/6acfb8225f95c4fbbf988c9d0faea76d.jpeg)
用jupyter notebook的人可能知道jupyter-theme项目提供了非常多优秀的主题,可惜这在jupyterlab上无法使用,jupyterlab的团队也正在开发更多主题,我们拭目以待!
如果实在想修改一些设置,也可以在之前提到的index.css
文件中直接修改,此时可以看官网开发者帮助文档部分。
4.为文件添加目录
只需要在命令行输入如下命令
jupyter labextension install jupyterlab-toc
再打开jupyterlab,可以发现有了contents选项,即每个文档都可以在这里找到目录
![8800d476f8f780a38164a5d3f49da7d0.png](https://i-blog.csdnimg.cn/blog_migrate/5a60ab9121036b78af5f2801164308ca.jpeg)
专栏信息
专栏主页:python编程
专栏目录:目录
版本说明:软件及包版本说明