Jupyter Notebook已現(xiàn)“返祖現(xiàn)象”,編輯神器nbterm來了!
點(diǎn)擊關(guān)注"Python學(xué)習(xí)與數(shù)據(jù)挖掘"
更多超級干貨第一時間推送給你

Jupyter Notebook,一般都是在網(wǎng)頁上使用,可是你想過它有一天也可以在命令行中運(yùn)行嗎?
這就是用于終端的Jupyter Notebook工具nbterm:
正在使用Jupyter Notebook又更習(xí)慣終端編輯的開發(fā)者們,一起來看看這款輕便的工具吧。
開始使用nbterm
安裝
你可以使用任何你喜歡的軟件包管理器來下載它:
$ pip install nbterm
或
$ mamba install nbterm -c conda-forge
運(yùn)行一個已存在的Jupyter Notebook文檔
$ cd ~/nbterm #你的nbterm存儲路徑
$ nbterm my_notebook.ipynb
然后使用終端來進(jìn)行開發(fā):

基本命令
輸入help以得到幫助:
$ nbterm —help
在批處理模式中運(yùn)行notebook所有單元:
$ nbterm --run my_notebook.ipynb
如果未使用—save-path指定新名稱,則會自動生成名為my_notebook_run.ipynb的新文檔。
嵌入用法
也可以將nbterm用作庫并將其嵌入到自己的應(yīng)用程序中,此時所有協(xié)作者都可以進(jìn)行編輯。比如你可以重新排列單元格,然后一起運(yùn)行:
import asyncio
from nbterm import Notebook
nb = Notebook("my_notebook.ipynb")
nb.cut_cell(3)
nb.paste_cell(1)
asyncio.run(nb.run_all())
nb.save()
產(chǎn)品持續(xù)開發(fā)中
這是一款目前正在開發(fā)中的軟件,作者David Brochart是一位任職于quantstack的軟件開發(fā)員,致力于Jupyter生態(tài)庫的開發(fā),比如nbclient、jupyter-client、ipykernel、ipywidgets等。
而對于這款軟件,David Brochart也提到,nbterm不會重用Jupyter的基本組件,如jupyter-client和nbformat。
因?yàn)樽鳛橐幻麉⑴cJupyter軟件包的維護(hù)的貢獻(xiàn)者,他想要嘗試不涉及向后兼容限制的新項目,或者說測試一下開發(fā)一個輕量notebook客戶端的難度,這就導(dǎo)致nbterm相當(dāng)精簡的代碼庫。
不過現(xiàn)在,他也有了一些關(guān)于nbterm未來的構(gòu)想:比如嘗試增加其輸出方式。
終端雖然只限制于顯示字符,但ASCII碼可以使這個問題迎刃而解。
David在前段時間已經(jīng)使用ASCII后端對matplotlib圖形庫嘗試了繪制:
目前只能在MacOS上使用。
除此之外,David也提出了要添加一些類似ipywidgets的交互功能,以及更多簡單的滑塊、按鈕、菜單等GUI部件。
參考鏈接:
[1]https://twitter.com/davidbrochart?s=20
[2]https://github.com/davidbrochart/nbterm
[3]https://blog.jupyter.org/nbterm-jupyter-notebooks-in-the-terminal-6a2b55d08b70
— 完 —
目前群已滿2000+人,旨在促進(jìn)技術(shù)交流,可申請加入細(xì)分方向技術(shù)群,細(xì)分方向已涵蓋:Python、數(shù)據(jù)分析、爬蟲、算法、好玩工具分享,已在群內(nèi)成員請勿重復(fù)申請。一定要備注:研究方向+學(xué)校/公司(如數(shù)據(jù)分析+上交),根據(jù)格式備注,可更快被通過且邀請進(jìn)群
▲長按加微信群

