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