繁体   English   中英

如何合并Jupyter笔记本中的更改

[英]How to merge changes in Jupyter notebooks

与Jupyter笔记本上的同事的合作使我发疯。 我们正在开发同一笔记本的不同版本(我会说“分支”,但这对于我们正在做的事情来说太花哨了)。 我尝试将他引入的(部分)更改合并到我的版本中。 由于差异JSON文件是一场噩梦,因此我将两个笔记本转换为.py文件(从笔记本的“ 文件”菜单下载as \\ Python(.py文件) ),然后在PyCharm中比较.py文件。 这很好用,也因为导出到.py时所有输出都被删除了。

现在的问题是将更改后的.py文件导入Jupyter。 这可能吗? 让我希望得到肯定答案的一件事是,在导出的.py文件中有一些#In # In[4]:注释,也许Jupyter接口可以使用它来理解如何将代码分成单元。 还是不可能回去? 如果是这样,您还有其他建议来合并Jupyter笔记本的两个不同版本之间的某些更改吗?

回答第二个问题:( 这个问题看起来与相关)

当我们有这样的问题,用JQ在描述这个帖子效果不错。 (部分从“ Enter jq”开始。)

要使用此功能,除了开发笔记本( 添加到git之外),还有笔记本的第二个“剥离”版本,这是您添加到git的笔记本版本,否则将与的开发笔记本合并冲突您的队友)。

您总是需要额外的步骤,

nbstrip_jq mynotebook.ipynb > mynotebook_stripped.ipynb

在执行git add mynotebook_stripped.ipynb之前,先git add mynotebook_stripped.ipynbgit commit等。但是,如果团队中的每个人都这样做,则使用git add mynotebook_stripped.ipynb很好地管理更改。 对于较大的项目,您可以尝试自动化,如同一篇文章中下文所述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM