Jupyter Notebook的三大短板,都被这个新工具补齐了

新闻 机器学习
在机器学习和数据科学领域,Jupyter已经家喻户晓。它把笔记、代码、图表、注释融合在一个交互式的笔记本里,还能添加各种扩展功能。

 在机器学习和数据科学领域,Jupyter已经家喻户晓。它把笔记、代码、图表、注释融合在一个交互式的笔记本里,还能添加各种扩展功能。可谓机器学习入门进阶研究之神器。

Jupyter Notebook的三大短板,都被这个新工具补齐了

可是,神器也有短板

  • 文件是固定的JSON格式,体积还非常大;
  • 要在浏览器里编辑文档好烦,好怀念自己喜欢的编辑器;
  • 版本控制好艰难,想用标准的合并工具来协作,可是人家只支持文本!

最近推出的一个工具,帮Jupyter Notebook把这些短板补齐了。

这个工具叫Jupytext,顾名思义,能够把Jupyter Notebook的内容转化成纯文本,用你最顺手的IDE打开。

Jupyter Notebook的三大短板,都被这个新工具补齐了

于是,编辑协作版本控制等一系列问题,迎刃而解。

Jupytext现在支持的语言还不能覆盖Jupyter Notebook的全部,但搞定了***的几种。它支持Jupyter Notebook和下面这些格式之间的相互转换:

Julia脚本(.jl)、Python脚本(.py)、R脚本(.R)、Markdown文件(.md)、R Markdown文件(.Rmd)。

Jupytext作者Marc Wouts在一篇博客里展示了怎样借助这个工具在IDE或者编辑器里来编辑Jupyter Notebook、进行版本控制。

Jupyter Notebook的三大短板,都被这个新工具补齐了

上面就是Jupytext使用过程的一个例子:把一个Jupyter Notebook存储为.ipynb和.py两种文件格式、用PyCharm打开.py脚本来修改代码、保存之后刷新浏览器,就能在Jupyter Notebook里看到新结果了。

想要在一大堆代码和笔记里查找内容、编辑、执行cell、debug……用IDE比用Jupyter Notebook要方便得多。

Jupyter Notebook的三大短板,都被这个新工具补齐了

上图则是对文本执行版本检查,然后将有意义的差异合并的过程。

看起来不错,怎么安装呢?

这个工具支持pypi.安装,代码是这样的:

  1. upytext from pip 
  2. pip install jupytext --upgrade 
  3. # Append this to .jupyter/jupyter_notebook_config.py c.NotebookApp.contents_manager_class="jupytext.TextFileContentsManager" 
  4. # And restart your notebook server 
  5. jupyter notebook 

在Jupyter Notebook的元数据里输入jupytext_formats,就能激活笔记本和文本文件的配对,实现在IDE里编辑脚本,Notebook里也跟着更新的效果。

如果想在编辑文本文件的时候还开着Jupyter,可以在一个单元格里运行%autosave 0,关掉Jupyter的自动保存功能。

Jupyter Notebook的三大短板,都被这个新工具补齐了

***,附上Jupytext的传送门:

https://github.com/mwouts/jupytext

责任编辑:张燕妮 来源: 量子位
相关推荐

2020-07-26 11:55:11

Jupyter Not扩展工具开发

2024-09-02 09:38:51

WebSocketLinuxWindows

2021-05-17 15:07:02

5G电力技术

2022-06-20 10:00:57

Python工具包代码

2022-07-15 13:58:46

工具MyBatissql

2023-11-05 12:31:07

Jupyter命令

2022-12-09 17:53:36

MyBatis联表查询

2013-10-31 10:12:23

信息泄露防护溢信科技防泄密

2021-05-26 10:15:52

开发技能工具

2020-09-24 05:50:46

PythonJupyter Not编程语言

2022-11-14 11:52:34

DataspellJupyterLabNotebook

2023-06-27 07:29:30

dba+开源工具Binlog

2022-05-06 07:31:01

useEventReactHook

2020-07-29 08:28:47

5G医疗技术

2020-08-04 06:51:28

Jupyterpython开发

2020-06-09 16:22:26

戴尔

2023-07-29 22:15:33

2024-02-26 00:20:00

AI模型

2022-05-05 12:25:46

Jupyter开发

2023-07-28 09:59:31

点赞
收藏

51CTO技术栈公众号