开发工具 | 即将jupyter的新一代notebook
点击蓝字关注我
提到数据分析和代码调试,我们很容易想到jupyter,尤其对于Python开发者,它们有着先天的优势,但是,这次jupyter真的遇到了劲敌--PolyNote。它存在不足,但是也拥有jupyter所不具备的优势,本文就来介绍一下这款新一代的notebook。
—▼—
前言
-
jupyter notebook -
jupyterlab
-
轻量化 -
触手可及 -
支持丰富的插件 -
支持语言丰富 -
......
PolyNote
开门见山,直接介绍PolyNote的10大特性。
第一大特性:支持多语言
PolyNote是一款与众不同的开发工具,我个人认为,它是一款为数据而生的开发工具,默认支持如下3种语言,
Python
SQL
Scala
这也是PolyNote的第一大特性:支持多语言。
另外,通过简单的配置即可支持Spark,从它原生支持的工具即可看出,它主要都是在围绕大数据在展开,其中包括大数据开发和数据可视化。
第二大特性:支持共享数据
目前PolyNote支持Python、Scala等语言,它可以实现不同语言之间的数据共享。例如,我在一个Python的cell中定义一个变量,然后添加一个Scala的cell,它可以访问Python中定义的变量。
第三大特性:自动补全
我觉得这是jupyter的一大弱点,虽然我们可以敲击tab键进行补全,但是这显然不够便捷,虽然可以通过配置插件的方式让jupyter具有自动补全的功能,但是,效果差强人意,只能勉强使用,效果不太理想。而PolyNote默认支持代码自动补全,而且效果丝毫不亚于常见的IDE。
第四大特性:高亮代码错误
这也是jupyter的一个不足之处,它不能高亮代码错误的地方,这在vs code、pycharm中可以实现这项功能,但是软件太过于臃肿,PolyNote把高亮代码错误这项功能也加入了进去,让PolyNote成为一个更加成熟、完善的IDE。
第五大特性:富文本编辑
虽然jupyter也支持富文本,但是,在PolyNote功能栏有丰富的文本编辑选项,让它更像一个完备的文本编辑器。此外,能够轻松地将LaTeX公式插入文本单元格。
第六大特性:实时状态显示
能够实时显示内核的工作状态和工作内容。此外,能够准确地查看当前正在执行的代码,因为Polynote实时地高亮显示正在运行的语句。
第七大特性:详细的可视化
Polynote实现实时跟踪定义的内容,以及当前单元格中可用的内容。能够在表格中显示,可以获得详细信息和丰富的可视化效果。
第八大特性:高度集成Spark
和大数据处理框架Spark高度集成,更加便于数据的分析及可视化。
第九大特性:可重复性
能够确保notebook重复执行,哪怕是某个cell被删除,也可以轻松恢复进行再次执行。
第十大特性:可视化效果好
PolyNote内置了绘图编辑器,可以轻松的进行数据可视化,另外,它也默认支持Vega可视化语言,同样非常方便与可视化。
PolyNote配置
首先需要说明,目前PolyNote仅在Linux和MacOS上进行了测试,暂时不支持windows,自己有Linux或者MacOS开发环境,可以继续往下看一下配置过程。
PolyNote还没有jupyter notebook和jupyterlab那么成熟,因此,它不支持像jupyter那样能够直接通过pip install
进行安装,但是它的配置过程也非常容易。
安装JDK
PolyNote的运行需要Java环境的支持,目前PolyNote已经在Java 8
和Java 11
上进行成功测试,如果其他JDK版本不成功,可以切换一下Java版本。
安装Python依赖包
为了执行Python,需要配置Python3.X和pip3.x,然后执行下面命令安装一些依赖包,
$ pip3 install jep jedi pyspark virtualenv
下载安装包
打开下面链接,下载PolyNote压缩包,
https://github.com/polynote/polynote/releases
解压压缩包,进入目录,
$ tar -zxvf polynote-dist-2.12.tar.gz
$ cd polynote
配置
进入目录后会发现有一个config-template.yml
文件,需要把它进行重命名,
$ cp config-template.yml config.yml
config.yml
中可以配置打开的IP和端口,打开文件可以看到这段文字,
#listen:
# host: 127.0.0.1
# port: 8192
默认打开的IP是127.0.0.1
,端口为8192
,我们可以把这个IP修改为服务器或者开发机的IP,那么可以在任何其他与该IP互通的机器上进行使用。
开启服务
执行下面命令开启PolyNote服务,
$ python polynote.py
如果觉得这样会占用shell,可以执行下面命令,让PolyNote在后台运行,
$ nohup python polynote.py > /dev/null 2>&1 &
上述就是完整的配置过程。
▲
END
长按扫码可关注