PyCharm 中 Jupyter 笔记本的 VCS

问题描述 投票:0回答:3

我想知道如何使 PyCharm 的 VCS(即 Git)与 Jupyter Notebook 文件一起使用。 即使更改 1 个 loc 也会导致在提交期间检测到 3 个修改: 抱歉,如果重复,但我没有找到类似的内容。

version-control jupyter-notebook pycharm jupyter
3个回答
3
投票

嗯,我不会说当前对 Jupyter Notebook 文件版本控制的支持根本不起作用。您可以在自己的屏幕截图中看到检测到您的更改。 我们不会解析所有更改以仅检测源代码更改。 即使我们这样做了,许多人实际上想要跟踪输出,因为例如在数据科学中,结果并不总是可重复的,您可能想要跟踪输出以及 src。

虽然可以通过实现以下功能来增强https://youtrack.jetbrains.com/issue/PY-20132,这将允许提交所有更改,但只能看到源代码的更改,所以请随意点赞并发表评论。


2
投票

我使用 Pycharm 社区版。我喜欢 Pycharm 与 git 集成的方式,它的 VCS 直观地显示差异。然而,对于 jupyter 笔记本文件,差异很难直观地跟踪。运行单元会带来各种变化。

笔记本文件通常像文本文件一样进行比较。我使用一种简单的方法来增强视觉质量。我为 *.ipynb 文件创建了一个新的文件类型

Settings>Editor>File Types
。我启用了所有类型括号的匹配。我添加了几个关键字,

关键字1:

"outputs"
"source"

关键词2:

"code"
"markdown"

这种突出显示的格式显示在 Pycharm VCS 中,使我们能够轻松找到代码和 Markdown 单元格和输出中的更改。此效果的示例如下 screenshot 所示。现在,我们不需要担心执行计数或元数据的变化。


0
投票

这是一种有点hacky的方式,我刚刚弄清楚,如何VCS Jupyter Notebooks,但是您可以使用

Refactor > Convert to Python File
.ipynb
转换为
.py
,然后提交新文件。

可以使用

Convert to Jupyter Notebook
以同样的方式反转。

所以我会将

*.ipynb
放入
.gitignore
,然后仅使用 VCS
*.py
文件,并根据需要“解压/重新打包”笔记本文件。

PS:我有Pyharm 2024.1.1

© www.soinside.com 2019 - 2024. All rights reserved.