2013-02-18 69 views
5

當我打開一個保存的IPython Notebook時,我需要評估所有具有導入,函數定義等的單元以繼續處理會話。點擊Cell > Run All來做到這一點很方便。但是如果我不想重新評估所有計算?每次需要手動挑選細胞進行評估嗎?IPython Notebook是否有「初始化單元」?

對於這個問題,數學有「初始細胞」的概念。您可以將筆記本中的某些單元標記爲初始化單元,然後在打開筆記本後執行「評估初始化單元」。

是否IPython的筆記本電腦有一個類似的解決方案?

+1

最終,在回答這個問題,一個已編寫IPython Notebook擴展以提供初始化單元功能:http://nbviewer.ipython.org/github/Carreau/posts/blob/master/04-initialisation-cell.ipynb – rerx 2015-08-11 12:17:23

+0

@rerx您是否可以讓您的評論爲nswer?我幾乎錯過了這個擴展,因爲我起初沒有注意到你的評論。 – cledoux 2015-11-09 18:40:20

回答

3

首先,當您打開IPython筆記本時,這並不意味着內核狀態丟失,除非您重新啓動服務器或顯式停止內核。

否則,沒有標記爲單元格,但在dev版本中有一個「運行到此處」。

此外,如果你使用的是開發版本,使用Cell工具欄/元,我想說〜30行的JavaScript的應該是可行的。

我建議你打開主要問題跟蹤改進請求。這通常可以在sprint和/或博客文章中作爲擴展來解釋筆記本的內部。

+6

所以最後,答案是IPython Notebook沒有初始化單元格或其他等價物。希望這會在未來的版本中出現。 – clstaudt 2013-02-19 13:49:19

+0

我已經安裝了[筆記本擴展](https://github.com/ipython-contrib/IPython-notebook-extensions.git),並且「初始化單元」是唯一一個一星期後,我仍然被激活的單元。 ..是否有機會在下一個版本的jupyter中升級到某個功能? – gboffi 2016-06-27 12:34:03

+0

不,這個擴展不可能成爲核心的一部分。 – Matt 2016-06-27 15:51:21

1

如果您正在使用筆記本電腦的最新和最偉大的(我的是> 4.1),您所要求的功能可通過擴展。

的擴展,以及可方便地用於啓用/禁用每個單獨的擴展接口,可以安裝如下

$ git clone https://github.com/ipython-contrib/IPython-notebook-extensions.git 
$ cd IPython-notebook-extensions 
$ ./setup.py 

如果你已經安裝了擴展,啓動筆記本電腦服務器

$ cd ; jupyter-notebook </dev/null> .jupiter.log 2>&1 & 

,去擴展管理頁面

$ xdg-open http://localhost:8888/nbextensions 

在最近打開的瀏覽器窗口中,啓用「初始化單元」擴展。

如果你現在打開你的筆記本,在工具欄中你會看到一個新的圖標,類似於一個手持計算器,並在View/Cell Toolbar一個新條目Initialisation Cell

啓用該菜單項和細胞上點擊工具欄,你要標記爲初始化細胞(可能去除細胞哪些工具欄),然後點擊前面所述的圖標...

當加載筆記本,初始化細胞自動運行,因此,如果你願意,你可以將它們放置在方便的地方,說筆記本的最後,如果你像我一樣...