[英]How to merge changes in Jupyter notebooks
與Jupyter筆記本上的同事的合作使我發瘋。 我們正在開發同一筆記本的不同版本(我會說“分支”,但這對於我們正在做的事情來說太花哨了)。 我嘗試將他引入的(部分)更改合並到我的版本中。 由於差異JSON文件是一場噩夢,因此我將兩個筆記本轉換為.py
文件(從筆記本的“ 文件”菜單下載as \\ Python(.py文件) ),然后在PyCharm中比較.py
文件。 這很好用,也因為導出到.py
時所有輸出都被刪除了。
現在的問題是將更改后的.py
文件導入Jupyter。 這可能嗎? 讓我希望得到肯定答案的一件事是,在導出的.py
文件中有一些#In # In[4]:
注釋,也許Jupyter接口可以使用它來理解如何將代碼分成單元。 還是不可能回去? 如果是這樣,您還有其他建議來合並Jupyter筆記本的兩個不同版本之間的某些更改嗎?
當我們有這樣的問題,用JQ在描述這個帖子效果不錯。 (部分從“ Enter jq”開始。)
要使用此功能,除了開發筆記本( 未添加到git之外),還有筆記本的第二個“剝離”版本,這是您添加到git的筆記本版本,否則將與的開發筆記本合並沖突您的隊友)。
您總是需要額外的步驟,
nbstrip_jq mynotebook.ipynb > mynotebook_stripped.ipynb
在執行git add mynotebook_stripped.ipynb
之前,先git add mynotebook_stripped.ipynb
, git commit
等。但是,如果團隊中的每個人都這樣做,則使用git add mynotebook_stripped.ipynb
很好地管理更改。 對於較大的項目,您可以嘗試自動化,如同一篇文章中下文所述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.