Jupyter Notebook的三大短板,都被這個新工具補齊了
點擊上方“菜鳥學Python”,選“星標”公眾號
重磅干貨,第一時間送達
量子位?出品?|?公眾號?QbitAI
Jupyter已經(jīng)家喻戶曉,它把筆記、代碼、圖表、注釋融合在一個交互式的筆記本里,還能添加各種擴展功能??芍^機器學習入門進階研究之神器。
可是,神器也有短板:
文件是固定的JSON格式,體積還非常大;
要在瀏覽器里編輯文檔好煩,好懷念自己喜歡的編輯器;
版本控制好艱難,想用標準的合并工具來協(xié)作,可是人家只支持文本!
最近推出的一個工具,幫Jupyter Notebook把這些短板補齊了。
這個工具叫Jupytext,顧名思義,能夠把Jupyter Notebook的內(nèi)容轉(zhuǎn)化成純文本,用你最順手的IDE打開。

于是,編輯協(xié)作版本控制等一系列問題,迎刃而解。
Jupytext現(xiàn)在支持的語言還不能覆蓋Jupyter Notebook的全部,但搞定了最流行的幾種。它支持Jupyter Notebook和下面這些格式之間的相互轉(zhuǎn)換:
Julia腳本(.jl)、Python腳本(.py)、R腳本(.R)、Markdown文件(.md)、R Markdown文件(.Rmd)。
Jupytext作者Marc Wouts在一篇博客里展示了怎樣借助這個工具在IDE或者編輯器里來編輯Jupyter Notebook、進行版本控制。

上面就是Jupytext使用過程的一個例子:把一個Jupyter Notebook存儲為.ipynb和.py兩種文件格式、用PyCharm打開.py腳本來修改代碼、保存之后刷新瀏覽器,就能在Jupyter Notebook里看到新結(jié)果了。
想要在一大堆代碼和筆記里查找內(nèi)容、編輯、執(zhí)行cell、debug……用IDE比用Jupyter Notebook要方便得多。

上圖則是對文本執(zhí)行版本檢查,然后將有意義的差異合并的過程。
看起來不錯,怎么安裝呢?
這個工具支持pypi.安裝,代碼是這樣的:
upytext?from?pip
pip?install?jupytext?--upgrade
#?Append?this?to?.jupyter/jupyter_notebook_config.py?c.NotebookApp.contents_manager_class="jupytext.TextFileContentsManager"
#?And?restart?your?notebook?server
jupyter?notebook在Jupyter Notebook的元數(shù)據(jù)里輸入jupytext_formats,就能激活筆記本和文本文件的配對,實現(xiàn)在IDE里編輯腳本,Notebook里也跟著更新的效果。
如果想在編輯文本文件的時候還開著Jupyter,可以在一個單元格里運行%autosave 0,關(guān)掉Jupyter的自動保存功能。

最后,附上Jupytext的傳送門:
https://github.com/mwouts/jupytex

程序員GitHub,現(xiàn)已正式上線!
接下來我們將會在該公眾號上,專注為大家分享GitHub上有趣的開源庫包括Python,Java,Go,前端開發(fā)等優(yōu)質(zhì)的學習資源和技術(shù),分享一些程序員圈的新鮮趣事。
推薦閱讀:
這個GitHub 1400星的Git魔法書火了,斯坦福校友出品丨有中文版 賊 TM 好用的 Java 工具類庫 超全Python IDE武器庫大總結(jié),優(yōu)缺點一目了然! 秋招來襲!GitHub28.5顆星!這個匯聚阿里,騰訊,百度,美團,頭條的面試題庫必須安利! 收獲10400顆星!這個Python庫有點黑科技,竟然可以偽造很多'假'的數(shù)據(jù)! 牛掰了!這個Python庫有點逆天了,竟然能把圖片,視頻無損清晰放大!
點這里,獲取一大波福利

