1 简介
jupyter lab
于近期发布了其具有里程碑意义的3.0
版本,随之带来的一些重要新特性,想必广大读者朋友已在各大公众号所翻译转载的jupyter lab
团队官方介绍文章中知晓了很多。
图1
那么目前的jupyter lab
好用吗?是否还存在bug?适合直接升级使用吗?今天的文章就将通过我的真实使用体验,来认识jupyter lab
3.0。
2 jupyter lab 3.0使用体验
为了不干扰现有的环境,我们通过以下代码创建新的环境,并安装最新稳定版本的jupyter lab
:
conda create -n temp python=3.7 -y conda activate temp pip install jupyterlab -U
这样我们的jupyter lab
就安装好了,版本为3.0.3
:
图2
接下来我们就逐一体验官方所述的新版本特性,看看是否好用,是否还存在问题。
2.1 “无需nodejs即可安装插件”
作为官方宣传的jupyter lab
3.0版本后最大的改变,似乎我们可以不需要nodejs
,不通过jupyter labextension install
语句,仅仅依靠pip/conda/mamba
就可以安装拓展,那么目前为止,常见常用的那些jupyter lab
拓展都可以这样安装吗?
我测试了一下,目前确实已经有一些主流的,官方或非官方出品的拓展已经可以这样安装了,譬如:
- 「jupyter-kite」
作为jupyter lab
平台上非常实用的代码智能补全插件,按照官方Github仓库的说明,通过下面语句,即可成功安装😉:
pip install "jupyterlab-kite>=2.0.2"
使用起来也是非常稳定:
图3
- 「jupyter-matplotlib」
作为jupyter lab
上开启交互式matplotlib
绘图所需的拓展,我们现在可以通过下面的语句直接进行安装,这样的好处显而易见——我们无需再build
了!
pip install ipympl
图4
并且jupyter-matplotlib
安装过程顺道把@jupyter-widgets/jupyterlab-manager
拓展安装上了,这意味着它也不需要nodejs
依赖了~欢呼🥳~
图5
但jupyter lab
插件茫茫多,上面举的例子只是其中过渡动作比较快的,仍然有大量的好用的jupyter lab
插件还未兼容jupyter lab
3.0,譬如我们过往文章介绍过的非常实用的,用于记录每个cell执行耗时等信息的jupyterlab-execute-time
:
图6
以及keplergl-jupyter
:
图7
因此如果你有很多心爱的常用的插件仍未做好新版本兼容的工作,那么继续使用2.X
版本观望,才是现阶段更好的选择。
2.2 “官方汉化”
作为官方宣传的一个重要特性之一,jupyter lab
3.0中号称支持了多语种界面切换,那么我们按照官方的说话,通过pip install jupyterlab-language-pack-zh-CN
来下载中文汉化包来试试:
图8
咦,居然找不到这个库,原来官方至今(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
刷新一下界面,会看到可用的语言设置选项:
图9
点击切换之后,哇哦,真的可以使用官方中文了耶!
图10
相信之后可在线安装的官方正式版本会很快发布,如果心急的朋友想要尝鲜,也可以像我这样进行配置。
2.3 其他新特性
而至于其他新特性,譬如自带的交互gui式的debugger
:
conda install xeus-python=0.8.6 -c conda-forge -y
图11
或是自带的目录功能,其实都不是新东西,只不过现在你无须安装就可以使用,而新增加的simple
模式等特性,吸引力都不是特别大:
图12
作为一次大的升级,我们在新版jupyter lab
身上看到了其深挖用户需求,做出重大升级的努力,也初步带来了很好的效果,随着开发过程的进行,未来的jupyter lab
相信会更好用,而至于目前是否值得升级,相信阅读到此的你,心中已经有了答案。