上手Jupyter Lab半小时之后,果断抛弃了Notebook,界面简直友好得不要太多,功能升级得也更加完善

且Lab向下兼容Notebook,文件类型仍为ipynb

一、安装及设置右键菜单

与Jupyter Notebook相仿,通过pip安装

pip install jupyterlab

为了使其更像一个IDE的打开方式,我们设置通过右键菜单Jupyter Lab Here打开,方法如下:

  • 新建注册表文件Jupyter Lab Here.reg,内容:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\directory\background\shell\Jupyter Lab Here]
"icon"="C:\\Users\\xxxx\\python\\3.6.8\\Lib\\site-packages\\notebook\\static\\favicon.ico"

[HKEY_CLASSES_ROOT\directory\background\shell\Jupyter Lab Here\command]
@="C:\\Users\\xxxx\\python\\3.6.8\\Scripts\\jupyter-lab.exe"

其中favicon.ico,jupyter-lab.exe的路径按实际情况修改

  • 双击Jupyter Lab Here.reg文件,注入注册表即可

二、基础使用

由于Lab是Notebook的升级版,原本Notebook就有的功能就在此不再提及

注意:其中用到的插件均在标题中指出,具体安装方法参考三、插件扩展

1. csv文件显示格式

在Notebook中,csv文件能直接打开但是会显示分隔符,跟记事本打开显示格式一样,不便查看

而在Lab中,这个问题得到了解决,Lab会自动判断分隔符并单独标注出,显示格式与excel中一样

2. pdf预览

Notebook中原本无法预览pdf,打开pdf会自动下载,而在Lab中直接点击pdf可以很方便地在Lab的子窗口中打开预览pdf

3. 多窗口自由排布

较之Notebook,对写代码体验改善最大的一点在于,可以进行多窗口的自由排布,cell可拖拽移动

cell的output也可以单独拖动出新窗口,还可以随时开启终端交互

4. 代码提示

Notebook相比pycharm这样的IDE最明显的一点就是,缺少代码提示,有时非常不方便,而Lab完善了这一功能

5. 绘图(插件jupyterlab-drawio)

在论文写作过程中常常需要绘制简单的流程图或示意图,需要求助于visio等专业绘图软件,而论文中的大部分简单绘图在Lab上可以通过内置的绘图工具来完成

6. Tex编辑与编译预览(插件jupyterlab-latex)

原本的Notebook虽然可以打开tex文件查看代码进行编辑,但是无法编译预览tex文件,而在Lab中这项功能得到了实现

打开tex文件,在任意一处右键,点击Show LaTex Preview即可编译预览

注意:Lab的Tex默认编译器不支持中文

7. HTML网页浏览(插件jupyterlab_html)

Lab的这项功能在需要网页呈现动态可视化效果时非常有用

Example GIF

8. 即时查看变量及属性(插件jupyterlab_variableinspector)

用过Matlab的人相比很怀念的一个功能就是,可以在菜单中随时查看变量的属性和值的变化,而Lab中同样可以做到

注意:需要先安装jupyterlab-manageripywidgets

Demogif

9. 查看excel表格(插件jupyterlab-spreadsheet)

Lab可以打开显示XLS, XLSX, ODS表格,但是仅只读模式

Image depicting the plugin displaying a simple XLS workbook

三、插件扩展

1. 设置插件栏

在Lab中安装插件与Notebook一样,只需要在插件栏点击即可安装,但是需要经过一点简单设置,因为插件栏默认不显示

  1. 点击菜单栏Settings下拉框中的Advanced Settings Editor选项,会出现一个设置页面。
  2. 接着,点击Extension Manager,并且在User Preferences的空白框里填上{'enabled':true},并且按右上角的保存按钮。
  3. 然后最左侧最下方就多出了一个插件栏

与Notebook不同的是,Notebook光列出所有的插件名称不显示功能,而Lab不仅有一行简单的功能介绍,还显示了所有的插件github主页链接,可以点击查看插件的详细用法

此外如果server报错Error: 500则可以在github上搜索插件全名,自行安装

2. 插件推荐

1. jupyterlab-github

安装这个插件后,Lab左侧会出现一个github栏按钮,你可以在里面搜索github项目,并且打开项目里面的文件,如果是notebook文件,能够直接运行代码

这个插件非常适合在Lab上学习github项目,方便高效

gitception

2. jupyterlab-toc

这是一个Lab的目录插件,安装后就能很方便地在Lab上展示notebook或者markdown的目录
目录可以滚动,并且能展示或隐藏子目录

Table of Contents

3. ipympl

ipympl是matplotlib的插件,可以启用matplotlib的可视化交互功能,是插件中少数几个需要通过pip安装的

pip install ipympl

且需要通过magic命令声明启用

%matplotlib widget
matplotlib screencast

4. nbgather

在Lab中清理代码,恢复丢失的代码以及比较代码版本的工具

Code gathering tools can help you clean your code and review versions of results.

5. jupyterlab_go_to_definition

该插件用于在Lab笔记本和文件编辑器中跳转到变量或函数的定义,按住Alt+LeftClick对应变量或函数即可跳转

Go to definition

6. jupyter-lsp

该插件用于自动补全、参数建议、函数文档查询、跳转定义

该插件不仅需要通过插件栏安装,也需要通过pip安装

pip install jupyter-lsp
signature autocompletion

同时,该插件还有类似pycharm的检查纠错功能

inspections panel