Jupyter Notebooks:您一直在尋覓的基于Web的開發工具
譯文【51CTO.com快譯】Jupyter Notebooks現在很火,這有其道理。這種基于Web的交互式計算環境使軟件工程師可以輕松創建和共享含有實時代碼、方程式、圖表甚至敘述文本的文檔。您可以使用窗口組件、圖形、圖像和視頻等定制筆記本。
開源項目Jupyter支持40多種語言,比如Python、R、Julia、Matlab、Octave、Scheme、Processing和Scala。您可以通過電子郵件或Dropbox和GitHub共享筆記本。而由于交互式輸出和大數據集成,您無法忽視這個易于使用的強大工具。
本文介紹安裝Jupyter和啟動您第一個筆記本的過程,將在Linux Mint上演示,但可以將其安裝在支持conda、pip、pipenv或Docker的任何設備上。完成后,您將擁有一個功能齊全的Jupyter Notebook,準備開始第一個項目。
安裝依賴項
部署Jupyter Notebook前要安裝許多軟件包。
要安裝的第一個依賴項是Python。我們同樣使用Linux Mint;如果您選擇其他Linux桌面版本,可能要更改安裝命令(比如將apt-get換成dnf)。
要在Linux Mint上安裝Python,登錄后打開終端窗口,執行以下命令:
- sudo apt-get install python3 -y
您可能會發現Python3已安裝。無論怎樣,要驗證安裝,執行以下命令:
- python3 --version
您會看到計算機上安裝的Python的具體版本。
接下來需要安裝讓我們可以創建Python虛擬環境的一個軟件。安裝該軟件的命令是:
- sudo apt-get install python3-venv -y
由于我們將使用Python軟件包安裝程序pip,須使用以下命令進行安裝:
- sudo apt-get install python3-pip -y
最后我們需要安裝Voila,它讓您可以在Web瀏覽器中查看Jupyter Notebooks。首先用以下命令創建一個新目錄:
- mkdir ~/voila
現在切換進入到新目錄:
- cd ~/voila
現在我們可以使用Python venv命令創建虛擬環境,如下所示:
- python3 -m venv venv
上述命令將創建名為venv的新目錄,其中包含許多文件和子目錄。在該目錄中,我們可以使用以下命令為voila加載預定義變量:
- source venv/bin/activate
最后我們可以使用pip安裝Voila:
- pip install voila
安裝Jupyter
安裝所有依賴項后,我們現在可以安裝Jupyter。我們將添加幾個庫,讓它更有用一點。隨時可以根據需要安裝更多的Python庫。執行命令:
- pip install jupyter numpy matplotlib
已完成了安裝。現在是時候部署您的第一個Jupyter Notebook了。
部署Notebook
遺憾的是,Jupyter Notebooks每次都必須從命令行來部署。因此,沒有方便的桌面快捷方式可供點擊。這是由于Notebooks必須從虛擬環境中啟動。因此在~/ voila目錄中,執行命令:
- jupyter notebook
運行命令后不久,默認Web瀏覽器會打開,Jupyter Notebook實例已準備可以工作(圖1)。
圖1:我們的第一個Jupyter Notebook已準備就緒
在Notebook主頁上,點擊“新建”以顯示下拉菜單(圖2)。
圖2:“新文件”下拉菜單,您可以在其中選擇可用的類型
選擇Python3后在出現的窗口(圖3)中,點擊“無標題”以命名您的Notebook。
圖3:新文件窗口,您可以在這里開始創建Python項目
內核和單元
為了成功使用Jupyter Notebook,您需要了解兩個術語:內核和單元。
在Jupyter領域,內核是一個計算引擎,它執行Jupyter Notebook文檔中含有的代碼。單元構成了Notebook的主體。您可以在單元中編寫(或粘貼)內容。有兩種類型的單元:代碼單元和Markdown單元。您可能猜到了,代碼單元含有代碼,Markdown單元含有使用Markdown格式化的文本。
Hello, World!
不妨使用熟悉的“Hello,World!”Python代碼創建新的代碼單元。在主窗口中,您會看到空單元,輸入:
- print(“Hello New Stack”)
您已創建了第一個代碼單元(圖4)。
圖4:我們的Hello World Python程序已準備好運行
如果點擊“運行”按鈕,內核將執行代碼,并在單元下輸出結果(圖5)。
圖5:Hello,New Stack!
代碼運行后,會在第一個單元下方創建新的單元,因此您可以繼續創建。
處理數組
不妨看看另一種類型的示例。還記得在安裝過程中,我們是否包含了numpy?Numpy是一個Python庫,添加了對大型多維數組的支持。不妨使用該庫。
先導入該庫,為此在新單元中輸入以下內容:
- 1 import numpy as np
- 2 def square(x):
- 3 return x * x
點擊“運行”以執行代碼。現在我們可以將numpy引用為np,并在創建的任何其他單元中使用變量square。
接下來創建一個小型Python程序,它將計算變量的平方。在新單元中輸入以下代碼:
- 1 x = np.random.randint(1, 10)
- 2 y = square(x)
- 3 print('%d squared is %d' % (x, y))
點擊“運行”,您將看到新程序的輸出(圖6)。
圖6:6的平方當然是36
如果選擇單元3并點擊“運行”按鈕,程序會再次運行,給出不同的結果。然后,單元將被標記為4(圖7),因為這是您第四次點擊“運行”按鈕(Jupyter會為您跟蹤此操作)。
圖7:我們的新結果和新的單元編號
關閉Notebook
如果您關閉含有Jupyter Notebook的瀏覽器,會看到命令仍在運行。為了結束命令,按[Ctrl] +組合鍵。然后會問您是否要關閉Notebook服務器。輸入y并按回車鍵,服務器會關閉。
Jupyter Notebook的好處是,它會自動保存您的項目。再次部署筆記本(使用命令jupyter notebook)。瀏覽器窗口打開后,您將看到已命名的筆記本(后跟.ipymb擴展名)。點擊該名稱,您會發現內容已保存,可以再次使用它。
恭喜,您已安裝Jupyter Notebook并創建了一個新項目。想了解這個強大工具的更多信息,請查閱Jupyter Notebook官方文檔。
原文標題:Jupyter Notebooks: The Web-Based Dev Tool You’ve Been Seeking,作者:Jack Wallen
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】