在 Jupyter 笔记本上与同事合作让我发疯。我们正在开发同一个笔记本的不同版本(我会说“分支”,但这对我们正在做的事情来说可能太花哨了)。我尝试将他引入的(一些)更改合并到我的版本中。由于比较 JSON 文件是一场噩梦,我将两个笔记本转换为 .py
文件( 从笔记本的 文件 菜单下载为\Python(.py 文件)),然后比较 .py
PyCharm 中的文件。这很好用,还因为导出到 .py
时所有输出都被删除了。 .
现在的问题是导入更改后的.py
文件到 Jupyter。这可能吗?让我希望得到肯定答复的一件事是,进入导出 .py
文件有一些 # In[4]:
注释,也许 Jupyter 接口(interface)可以用来理解代码如何划分为单元格。还是根本不可能回去?如果是这样,您是否有任何其他建议来合并两个不同版本的 Jupyter Notebook 之间的一些更改?
最佳答案
回答第二个问题:
(和 this question 看起来相关)
当我们遇到这个问题时,按照 this post 中的描述使用 jq工作正常。 (从“输入jq”开始的部分。)
要使用它,除了您的开发笔记本(未添加到 git,否则您会与你的队友)。
你总是需要一个额外的步骤,nbstrip_jq mynotebook.ipynb > mynotebook_stripped.ipynb
做之前git add mynotebook_stripped.ipynb
, git commit
等等。但是如果您团队中的每个人都这样做,那么使用 git 或多或少可以很好地管理更改。对于更大的项目,您可以尝试将其自动化,如下面同一篇文章中进一步描述的那样。
关于python - 如何合并 Jupyter 笔记本中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49232939/