JupyterLab 神器的使用

参考:

  1. 8 款超级实用的 JupyterLab 插件,提升你的开发效率!

Jupyter源于Ipython Notebook,是使用Python(也有R、Julia、Node等其他语言的内核)进行代码演示、数据分析、可视化、教学的很好的工具,对Python的愈加流行和在AI领域的领导地位有很大的推动作用。

Jupyter Lab是Jupyter的一个拓展,它提供了更好的用户体验,例如可以同时在一个浏览器页面打开编辑多个Notebook,Ipython console和terminal终端,并且支持预览和编辑更多种类的文件,如代码文件,Markdown文档,json,yml,csv,各种格式的图片,vega文件(一种使用json定义图表的语言)和geojson(用json表示地理对象),还可以使用Jupyter Lab连接Google Drive等云存储服务,极大得提升了生产力。

1.安装 与 配置设置

安装
mamba install jupyterlab

启动 
jupyter lab

jupyter notebook --generate-config

会生产一个配置文件 默认路径C:\Users\用户名.jupyter\jupyter_notebook_config.py
修改其中的几个配置项 并取消前面的注释

ipython
In [1]: from notebook.auth import passwd
In [2]: passwd() 
Enter password: 
Verify password: 
Out[2]: 'sha1:f704b702aea2:01e2bd991f9c7208ba177b46f4d10b6907810927'

# 配置启动目录
c.NotebookApp.notebook_dir = 'E:/Projects'
# 配置chrom的本地启动功能,让lab像IDE一样在本地打开
c.NotebookApp.browser = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe --app=%s'
 
# 将ip设置为*,意味允许任何IP访问
c.NotebookApp.ip = '*'
# 这里的密码就是上边我们生成的那一串
c.NotebookApp.password = 'sha1:f704b702aea2:01e2bd991f9c7208ba177b46f4d10b6907810927' 
# 服务器上并没有浏览器可以供Jupyter打开 
c.NotebookApp.open_browser = False 
# 监听端口设置为8888或其他自己喜欢的端口 
c.NotebookApp.port = 8888
# 允许远程访问 
c.NotebookApp.allow_remote_access = True

2. Jupyterlab 基本使用

最好是在建立好的虚拟环境中安装并使用Jupyterlab

1. 创建虚拟环境
conda create -n temp python=3.7 -y
conda activate temp

2.安装Jupyterlab
conda install jupyterlab

3. “无需nodejs即可安装插件”

作为官方宣传的jupyter lab3.0版本后最大的改变,似乎我们可以不需要nodejs,不通过jupyter labextension install语句,仅仅依靠pip/conda/mamba就可以安装拓展,那么目前为止,常见常用的那些jupyter lab拓展都可以这样安装吗?

我测试了一下,目前确实已经有一些主流的,官方或非官方出品的拓展已经可以这样安装了,譬如:

  • 「jupyter-kite」

作为jupyter lab平台上非常实用的代码智能补全插件,按照官方Github仓库的说明,通过下面语句,即可成功安装😉:

pip install "jupyterlab-kite>=2.0.2"
  • 「jupyter-matplotlib」

作为jupyter lab上开启交互式matplotlib绘图所需的拓展,我们现在可以通过下面的语句直接进行安装,这样的好处显而易见——我们无需再build了!

pip install ipympl

并且jupyter-matplotlib安装过程顺道把@jupyter-widgets/jupyterlab-manager拓展安装上了,这意味着它也不需要nodejs依赖了欢呼🥳

图片

jupyter lab插件茫茫多,上面举的例子只是其中过渡动作比较快的,仍然有大量的好用的jupyter lab插件还未兼容jupyter lab 3.0,譬如我们过往文章介绍过的非常实用的,用于记录每个cell执行耗时等信息的jupyterlab-execute-time

图片

以及keplergl-jupyter
图片

因此如果你有很多心爱的常用的插件仍未做好新版本兼容的工作,那么继续使用2.X版本观望,才是现阶段更好的选择。

4. “官方汉化”

作为官方宣传的一个重要特性之一,jupyter lab 3.0中号称支持了多语种界面切换,那么我们按照官方的说话,通过pip install jupyterlab-language-pack-zh-CN来下载中文汉化包来试试:

pip install jupyterlab-language-pack-zh-CN
图片

咦,居然找不到这个库,原来官方至今(2020-01-09)还未在pypi发布所谓的中文翻译包,但这不代表我们无法使用它,通过在官方Github仓库下经过一番交流,我找到了一个可以进行本地安装的whl文件,你可以在 https://jfds-1252952517.cos.ap-chengdu.myqcloud.com/jupyterhub/jupyterlab_language_pack_zh_CN-0.0.1.dev0-py2.py3-none-any.whl 进行下载,感谢akshare作者的资源分享。

通过pip install jupyterlab_language_pack_zh_CN-0.0.1.dev0-py2.py3-none-any.whl在本地成功安装之后,回到jupyter lab刷新一下界面,会看到可用的语言设置选项:

图片

点击切换之后,哇哦,真的可以使用官方中文了耶!

图片

相信之后可在线安装的官方正式版本会很快发布,如果心急的朋友想要尝鲜,也可以像我这样进行配置。

5. 其他新特性

而至于其他新特性,譬如自带的交互gui式的debugger

图片

或是自带的目录功能,其实都不是新东西,只不过现在你无须安装就可以使用,而新增加的simple模式等特性,吸引力都不是特别大:

图片

推荐阅读更多精彩内容