我已经开始使用IPython notebook为我的论文撰写草稿部分。但是,给定草稿的两个版本(即笔记本),我希望能够生成某种形式的差异输出来显示发生了什么变化。有谁知道这目前是否可行,无论是通过 IPython 笔记本本身还是通过某些扩展?
8 回答
自从回答了这个问题后,用于 IPython Notebook 的差异和合并工具 NBdiff 出现在 GitHub 上。不幸的是,它尚未针对 Jupyter / IPython 3 Notebook 格式进行更新。
距离最初的问题已经过去了很多时间,但这仍然是 2020 年的相关问题。今天有很好的解决方案。
正如 amirathi 提到的并提供了一个 CLI 示例,有nbdime用于在本地进行差异化。
我们在 DAGsHub 中也有笔记本差异,我们在与数据科学相关的拉取请求中使用它。
免责声明:我是DAGsHub的联合创始人
尝试以下步骤:
- 通过在终端上
nbdime
键入来安装。pip install nbdime
nbdime config-git --enable --global
通过在终端上键入与 Git 集成。nbdiff-web path/to/notebook.ipynb
在终端上键入。
您可以选择忽略某些类型的单元格。例如,如果您想忽略输出单元格,请输入: nbdiff-web --ignore-outputs path/to/notebook.ipynb
。
有关此处不同差异选项的更多信息: https ://nbdime.readthedocs.io/en/latest/cli.html#common-diff-options
还没有。这是一个经常被请求的功能,但您可能想要不同的“级别”差异。你只想要codecell的差异,还是输出,提示号呢?等等等等
很多人都加入进来,但没有人真正花时间写任何东西,即使笔记本是非常“简单”的 json 文件,其中单元格“只是”需要“对齐”然后生成一个 diffed-json 笔记本。