1 简介
jupyter lab于近期发布了其具有里程碑意义的3.0版本,随之带来的一些重要新特性,想必广大读者朋友已在各大公众号所翻译转载的jupyter lab团队官方介绍文章中知晓了很多。
图1
那么目前的jupyter lab好用吗?是否还存在bug?适合直接升级使用吗?今天的文章就将通过我的真实使用体验,来认识jupyter lab3.0。
2 jupyter lab 3.0使用体验
为了不干扰现有的环境,我们通过以下代码创建新的环境,并安装最新稳定版本的jupyter lab:
- conda create -n temp python=3.7 -yconda activate temppip install jupyterlab -U
这样我们的jupyter lab就安装好了,版本为3.0.3:
图2
接下来我们就逐一体验官方所述的新版本特性,看看是否好用,是否还存在问题。
2.1 “无需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"
使用起来也是非常稳定:
图3
作为jupyter lab上开启交互式matplotlib绘图所需的拓展,我们现在可以通过下面的语句直接进行安装,这样的好处显而易见——我们无需再build了!
- pip install ipympl
图4
并且jupyter-matplotlib安装过程顺道把@jupyter-widgets/jupyterlab-manager拓展安装上了,这意味着它也不需要nodejs依赖了~欢呼🥳~
图5
但jupyter lab插件茫茫多,上面举的例子只是其中过渡动作比较快的,仍然有大量的好用的jupyter lab插件还未兼容jupyter lab3.0,譬如我们过往文章介绍过的非常实用的,用于记录每个cell执行耗时等信息的jupyterlab-execute-time:
图6
以及keplergl-jupyter:
图7
因此如果你有很多心爱的常用的插件仍未做好新版本兼容的工作,那么继续使用2.X版本观望,才是现阶段更好的选择。
2.2 “官方汉化”
作为官方宣传的一个重要特性之一,jupyter lab3.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相信会更好用,而至于目前是否值得升级,相信阅读到此的你,心中已经有了答案。
以上就是本文的全部内容,欢迎在评论区与我进行讨论~