日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
新編輯神器!可以在終端運行JupyterNotebook了

 在我初學(xué)Python的時候,一直慣用著安裝式的編輯器軟件,比如PyCharm和Spyder。并且,一直以為編輯器都是這種形式的,有的區(qū)別只是體驗和功能上的差異。

直到我后來遇到了Jupyter Notebook,發(fā)現(xiàn)它是基于web來運行代碼的,并且可以還寫markdown的文本,直接打破我對編輯器的認識。

然而,最近又發(fā)現(xiàn)了一個新的Jupyter Notebook工具,再次打破我的認識。使用它可以不用在web敲代碼了,它可以讓我們在終端命令行使用Jupyter Notebook

web和終端對比

更神奇的是,它也支持代碼交互和markdown的富文本。雖然代碼在哪敲都是敲,并沒有改變本質(zhì),但真沒想到基于web的Jupyter Notebook有一天還可以在命令行中運行,和大家分享一下,說不定哪天能用上。

這個工具就是 nbterm,下面來介紹下。

GitHub鏈接:https://github.com/davidbrochart/nbterm

nbterm的使用姿勢

1. 安裝

支持各種軟件管理包的下載。

 
 
 
 
  1. $ pip install nbterm 

或者conda

 
 
 
 
  1. $ mamba install nbterm -c conda-forge 

除此外,還需要一個內(nèi)核,比如適用于Python的ipykernel或xeus-python,適用于C++的xeus-cling。

2. 啟動notebook

 
 
 
 
  1. $ cd ~/nbterm #你的nbterm存儲路徑 
  2.  
  3. $ nbterm my_notebook.ipynb 

然后使用終端來敲代碼:

3. nbterm基本命令

輸入help可以看到nbterm命令的其它命令選項。

 
 
 
 
  1. $ nbterm --help 
  2.  
  3. Usage: nbterm [OPTIONS] [NOTEBOOK_PATH] 
  4.  
  5. Arguments: 
  6.  
  7. [NOTEBOOK_PATH] Path to the notebook. [default: ] 
  8.  
  9. Options: 
  10.  
  11. --no-kernel Don't launch a kernel. 
  12.  
  13. --run Run the notebook. 
  14.  
  15. --save-path TEXT Path to save the notebook. 
  16.  
  17. --version Show the version and exit. 
  18.  
  19. --help Show this message and exit. 

比如,在批處理模式中運行notebook所有單元。

 
 
 
 
  1. $ nbterm --run my_notebook.ipynb 

如果未使用--save-path指定新名稱,則會自動生成名為my_notebook_run.ipynb的新文檔。

嵌入式用法

除了上面那樣操作以外,也可把nbterm當作庫嵌入到自己的程序中,所有協(xié)作者都可以進行編輯。比如你可以重新排列單元格,然后一起運行:

 
 
 
 
  1. import asyncio 
  2.  
  3. from nbterm import Notebook 
  4.  
  5. nb = Notebook("my_notebook.ipynb") 
  6.  
  7. nb.cut_cell(3) 
  8.  
  9. nb.paste_cell(1) 
  10.  
  11. asyncio.run(nb.run_all()) 
  12.  
  13. nb.save() 

一個輕量級Jupyter的嘗試

這個工具的創(chuàng)作者叫David Brochart,是一位任職于quantstack的軟件開發(fā)員,致力于Jupyter生態(tài)庫的開發(fā),比如nbclient、jupyter-client、ipykernel、ipywidgets等。

他本人提到,nbterm不會重用Jupyter的基本組件,如jupyter-client和nbformat,而是想要嘗試不涉及向后兼容限制的新項目,或者說測試一下開發(fā)一個輕量notebook客戶端的難度,所以現(xiàn)在的nbterm還是一個相當精簡的代碼庫。

顯然,nbterm對于notebook而言還是有一些功能需要完善的,比如終端雖然只限制于顯示字符。不過ASCII碼可以使這個問題迎刃而解。

大佬已經(jīng)使用ASCII后端對matplotlib圖形庫嘗試了繪制:

但這個繪制目前還只能在MacOS上使用。

除此之外,該項目也提出了要添加一些類似ipywidgets的交互功能,以及更多簡單的滑塊、按鈕、菜單等GUI部件等。

這個工具雖然目前來看可用性不強,但也確實是一個啟發(fā)。就像我當時覺得web敲代碼很奇怪一樣,隨著逐漸熟悉也就習(xí)慣了,只要它香我在哪敲都行,命令行里敲還能順便裝一下。圖片


當前標題:新編輯神器!可以在終端運行JupyterNotebook了
本文路徑:http://www.dlmjj.cn/article/cciihgj.html