您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么在終端運行 Jupyter Notebook ”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在我初學Python的時候,一直慣用著安裝式的編輯器軟件,比如PyCharm和Spyder。并且,一直以為編輯器都是這種形式的,有的區別只是體驗和功能上的差異。
直到我后來遇到了Jupyter Notebook,發現它是基于web來運行代碼的,并且可以還寫markdown的文本,直接打破我對編輯器的認識。
然而,最近又發現了一個新的Jupyter Notebook工具,再次打破我的認識。使用它可以不用在web敲代碼了,它可以讓我們在終端命令行使用Jupyter Notebook
web和終端對比
更神奇的是,它也支持代碼交互和markdown的富文本。雖然代碼在哪敲都是敲,并沒有改變本質,但真沒想到基于web的Jupyter Notebook有一天還可以在命令行中運行,和大家分享一下,說不定哪天能用上。
這個工具就是 nbterm,下面來介紹下。
GitHub鏈接:https://github.com/davidbrochart/nbterm
1. 安裝
支持各種軟件管理包的下載。
$ pip install nbterm
或者conda
$ mamba install nbterm -c conda-forge
除此外,還需要一個內核,比如適用于Python的ipykernel或xeus-python,適用于C++的xeus-cling。
2. 啟動notebook
$ cd ~/nbterm #你的nbterm存儲路徑 $ nbterm my_notebook.ipynb
然后使用終端來敲代碼:
3. nbterm基本命令
輸入help可以看到nbterm命令的其它命令選項。
$ nbterm --help Usage: nbterm [OPTIONS] [NOTEBOOK_PATH] Arguments: [NOTEBOOK_PATH] Path to the notebook. [default: ] Options: --no-kernel Don't launch a kernel. --run Run the notebook. --save-path TEXT Path to save the notebook. --version Show the version and exit. --help Show this message and exit.
比如,在批處理模式中運行notebook所有單元。
$ nbterm --run my_notebook.ipynb
如果未使用--save-path指定新名稱,則會自動生成名為my_notebook_run.ipynb的新文檔。
除了上面那樣操作以外,也可把nbterm當作庫嵌入到自己的程序中,所有協作者都可以進行編輯。比如你可以重新排列單元格,然后一起運行:
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()
這個工具的創作者叫David Brochart,是一位任職于quantstack的軟件開發員,致力于Jupyter生態庫的開發,比如nbclient、jupyter-client、ipykernel、ipywidgets等。
他本人提到,nbterm不會重用Jupyter的基本組件,如jupyter-client和nbformat,而是想要嘗試不涉及向后兼容限制的新項目,或者說測試一下開發一個輕量notebook客戶端的難度,所以現在的nbterm還是一個相當精簡的代碼庫。
顯然,nbterm對于notebook而言還是有一些功能需要完善的,比如終端雖然只限制于顯示字符。不過ASCII碼可以使這個問題迎刃而解。
大佬已經使用ASCII后端對matplotlib圖形庫嘗試了繪制:
但這個繪制目前還只能在MacOS上使用。
除此之外,該項目也提出了要添加一些類似ipywidgets的交互功能,以及更多簡單的滑塊、按鈕、菜單等GUI部件等。
這個工具雖然目前來看可用性不強,但也確實是一個啟發。就像我當時覺得web敲代碼很奇怪一樣,隨著逐漸熟悉也就習慣了,只要它香我在哪敲都行,命令行里敲還能順便裝一下。
“怎么在終端運行 Jupyter Notebook ”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。