在机器学习和数据科学领域,Jupyter已经家喻户晓。它将笔记、代码、图表、评论组合在一个交互式笔记本中,并可以添加各种扩展。可谓是机器学习入门和进阶研究的神器。但是Artifact也有缺点:文件是固定的JSON格式,体积非常大;在浏览器中编辑文档很烦人,想念我最喜欢的编辑器;版本控制很难,想用标准的合并工具来协作,但是人家只支持文本!最近推出的一款工具可以帮助JupyterNotebook弥补这些不足。这个工具叫做Jupytext。顾名思义,它可以将JupyterNotebook的内容转换成纯文本,并用你最方便的IDE打开。于是,编辑、协作、版本控制等一系列问题迎刃而解。Jupytext目前支持的语言并不能涵盖所有的JupyterNotebook,但可以应对最新的。它支持JupyterNotebook与以下格式之间的转换:Julia脚本(.jl)、Python脚本(.py)、R脚本(.R)、Markdown文件(.md)、RMarkdown文件(.Rmd)。Jupytext的作者MarcWouts在博客中展示了如何使用该工具在IDE或编辑器中编辑JupyterNotebook和进行版本控制。以上是使用Jupytext的过程示例:将一个JupyterNotebook存储为两种文件格式。它成功了。想在一大堆代码和注释中查找内容、编辑、执行cell、调试……用IDE比JupyterNotebook方便多了。以上是对文本进行版本检查,然后合并有意义差异的过程。看起来不错,如何安装呢?这个工具支持pypi。安装,代码是这样的:upytextfrompippipinstalljupytext--upgrade#Appendthisto.jupyter/jupyter_notebook_config.pyc.NotebookApp.contents_manager_class="jupytext.TextFileContentsManager"#Andrestartyournotebookserverjupyternotebook在JupyterNotebook的metadata中输入jupytext_formats激活notebook与文本文件配对实现在IDE中编辑脚本并在Notebook中更新它们的效果。如果要在编辑文本文件时让Jupyter保持打开状态,可以在单元格中运行%autosave0以关闭Jupyter的自动保存功能。***,附上Jupytext的传送门:https://github.com/mwouts/jupytext
