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

标签 python merge jupyter-notebook

在 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/

相关文章:

python - Redis:计算集合中项目出现次数的最佳方法

python - 仅径向变形即可校准摄像机

python - 属性错误 : module 'boto' has no attribute 'plugin'

python - 在 Python 中调用函数时,如何让用户在不使用所需位置参数的情况下输入值?

python - 如何删除或禁用 Jupyter 笔记本中的 ipywidgets 小部件清除按钮?

python - 如何正确报告 Docker 容器内的可用 RAM?

python - 将 GILed Python 程序限制在单个 CPU 上会提高性能吗?

JPA 实体仅在方法完成后更新

c# - DataGridView合并

go - go语言读取并合并两个yaml文件