Jupyter Notebook的三大短板,都被这个新工具补齐了
点击上方“菜鸟学Python”,选“星标”公众号
重磅干货,第一时间送达
量子位 出品 | 公众号 QbitAI
Jupyter已经家喻户晓,它把笔记、代码、图表、注释融合在一个交互式的笔记本里,还能添加各种扩展功能。可谓机器学习入门进阶研究之神器。
可是,神器也有短板:
文件是固定的JSON格式,体积还非常大;
要在浏览器里编辑文档好烦,好怀念自己喜欢的编辑器;
版本控制好艰难,想用标准的合并工具来协作,可是人家只支持文本!
最近推出的一个工具,帮Jupyter Notebook把这些短板补齐了。
这个工具叫Jupytext,顾名思义,能够把Jupyter Notebook的内容转化成纯文本,用你最顺手的IDE打开。
于是,编辑协作版本控制等一系列问题,迎刃而解。
Jupytext现在支持的语言还不能覆盖Jupyter Notebook的全部,但搞定了最流行的几种。它支持Jupyter Notebook和下面这些格式之间的相互转换:
Julia脚本(.jl)、Python脚本(.py)、R脚本(.R)、Markdown文件(.md)、R Markdown文件(.Rmd)。
Jupytext作者Marc Wouts在一篇博客里展示了怎样借助这个工具在IDE或者编辑器里来编辑Jupyter Notebook、进行版本控制。
上面就是Jupytext使用过程的一个例子:把一个Jupyter Notebook存储为.ipynb和.py两种文件格式、用PyCharm打开.py脚本来修改代码、保存之后刷新浏览器,就能在Jupyter Notebook里看到新结果了。
想要在一大堆代码和笔记里查找内容、编辑、执行cell、debug……用IDE比用Jupyter Notebook要方便得多。
上图则是对文本执行版本检查,然后将有意义的差异合并的过程。
看起来不错,怎么安装呢?
这个工具支持pypi.安装,代码是这样的:
upytext from pip
pip install jupytext --upgrade
# Append this to .jupyter/jupyter_notebook_config.py c.NotebookApp.contents_manager_class="jupytext.TextFileContentsManager"
# And restart your notebook server
jupyter notebook
在Jupyter Notebook的元数据里输入jupytext_formats,就能激活笔记本和文本文件的配对,实现在IDE里编辑脚本,Notebook里也跟着更新的效果。
如果想在编辑文本文件的时候还开着Jupyter,可以在一个单元格里运行%autosave 0,关掉Jupyter的自动保存功能。
最后,附上Jupytext的传送门:
https://github.com/mwouts/jupytex
程序员GitHub,现已正式上线!
接下来我们将会在该公众号上,专注为大家分享GitHub上有趣的开源库包括Python,Java,Go,前端开发等优质的学习资源和技术,分享一些程序员圈的新鲜趣事。
推荐阅读:
这个GitHub 1400星的Git魔法书火了,斯坦福校友出品丨有中文版 贼 TM 好用的 Java 工具类库 超全Python IDE武器库大总结,优缺点一目了然! 秋招来袭!GitHub28.5颗星!这个汇聚阿里,腾讯,百度,美团,头条的面试题库必须安利! 收获10400颗星!这个Python库有点黑科技,竟然可以伪造很多'假'的数据! 牛掰了!这个Python库有点逆天了,竟然能把图片,视频无损清晰放大!
点这里,获取一大波福利