簡體   English   中英

如何合並Jupyter筆記本中的更改

[英]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.ipynbgit commit等。但是,如果團隊中的每個人都這樣做,則使用git add mynotebook_stripped.ipynb很好地管理更改。 對於較大的項目,您可以嘗試自動化,如同一篇文章中下文所述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM