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

时间:2018-03-12 10:26:51

标签: python merge jupyter-notebook

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

现在的问题是将已更改的.py文件导入Jupyter。这可能吗?给我一个肯定答案的希望的一件事是,在导出的.py文件中有一些# In[4]:注释,这可能是Jupyter接口可能用来理解代码如何被分成单元格。或者回去是不可能的?如果是这样,你有任何其他建议来合并两个不同版本的Jupyter笔记本之间的一些变化吗?

1 个答案:

答案 0 :(得分:0)

要回答第二个问题: (并且this question看上去与此有关)

遇到问题时,按this post中所述使用jq可以正常工作。 (部分从“ Enter jq”开始。)

要使用此功能,除了开发笔记本(不是在git中添加 ,否则会与队友的开发记录合并冲突)。

您总是需要额外的步骤

nbstrip_jq mynotebook.ipynb > mynotebook_stripped.ipynb

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