1. 程式人生 > >在Python 3中設定Jupyter Notebook

在Python 3中設定Jupyter Notebook

介紹

Jupyter Notebook提供了一個用於作為Web應用程式的互動式計算的命令shell。該工具可以與多種語言一起使用,包括Python,Julia,R,Haskell和Ruby。它通常用於處理資料,統計建模和機器學習。 本教程將引導您設定Jupyter Notebook以在本地或從Ubuntu 16.04伺服器執行,以及教您如何連線和使用筆記本。 Jupyter筆記本(或簡稱筆記本)是由Jupyter Notebook應用程式生成的文件,包含計算機程式碼和豐富的文字元素(段落,方程,數字,連結等),有助於呈現和共享可再現的研究。 在本指南結束時,您將能夠使用執行在本地機器或遠端伺服器上的Jupyter Notebook執行Python 3程式碼。

先決條件

要遵循本教程,您將需要一個Python 3程式設計環境本教程中的所有命令都應以非root使用者身份執行。 如果命令需要root訪問許可權,則它之前將是sudo 。 使用Ubuntu 16.04的初始伺服器設定說明如何新增使用者並授予其sudo訪問許可權。

第1步 - 安裝Jupyter Notebook

使用以下命令安裝Jupyter Notebook:

pip install jupyter

此時Jupyter Notebook被安裝到當前的程式設計環境中。 下一個可選步驟是使用SSH隧道連線Web介面的伺服器安裝的步驟。

第2步(可選) - 使用SSH隧道連線到伺服器安裝

如果您在伺服器上安裝Jupyter Notebook,在本節中,我們將瞭解如何使用SSH隧道連線到Jupyter Notebook Web介面。由於Jupyter Notebook將在伺服器上的特定埠(例如
:8888 , :8889等)上執行,因此通過SSH隧道可以安全地連線到伺服器的埠。 接下來的兩個小節描述如何建立SSH隧道從1)Mac或Linux和2)Windows。請參閱本地計算機的子部分。

SSH使用Mac或Linux進行隧道傳輸

如果您使用Mac或Linux,建立SSH隧道的步驟類似於如何使用Linux或Mac的DigitalOcean Droplet如何使用SSH金鑰指南,除了在ssh命令中添加了其他引數。 本小節將概述ssh命令成功隧道所需的附加引數。 SSH隧道可以通過在新的本地終端視窗中執行以下SSH命令來完成:
ssh -L 8888:localhost:8888your_server_username
@your_server_ip
ssh命令開啟SSH連線,但-L指定本地(客戶端)主機上的給定埠將轉發到遠端端(伺服器)上的給定主機和埠。 這意味著伺服器上第二個埠號(例如8888 )上執行的任何內容都將顯示在本地計算機的第一個埠號(例如8888 )上。 可選擇將埠8888更改為您選擇的埠之一,以避免使用已由另一程序使用的埠。server_username是您建立的伺服器上的使用者名稱(例如sammy ),而your_server_ip是伺服器的IP地址。 例如,對於使用者名稱sammy和伺服器地址203.0.113.0 ,命令將是:
ssh -L 8888:localhost:8888sammy@203.0.113.0
如果在執行ssh -L命令後沒有顯示錯誤,您可以進入程式設計環境並執行Jupyter Notebook:
jupyter notebook

您將收到帶有URL的輸出。從本地計算機上的Web瀏覽器中,使用以http://localhost:8888開頭的URL開啟Jupyter Notebook Web介面。 確保包含令牌編號,或者在http://localhost:8888處提示時輸入令牌編號字串。

第3步 - 執行Jupyter Notebook

安裝Jupyter Notebook後,您可以在終端中執行它。為此,請執行以下命令:
jupyter notebook
Jupyter Notebook的活動日誌將列印到終端。當您執行Jupyter Notebook時,它會在特定的埠號上執行。您執行的第一個筆記本計算機通常在埠8888上執行。要檢查Jupyter Notebook正在執行的特定埠號,請參閱用於啟動它的命令的輸出:
Output[I NotebookApp]Serving notebooks fromlocal directory:/home/sammy[I NotebookApp]0 active kernels 
[I NotebookApp]TheJupyterNotebookis running at: http://localhost:8888/[I NotebookApp]UseControl-C to stop this server and shut down all kernels (twice to skip confirmation)....

如果啟動過程中出現如下所示,則預設為在8889埠上執行。

[I 14:31:24.987 NotebookApp] The port 8888 is already in use, trying another port.
Known labextensions:
[I 14:31:25.025 NotebookApp] Running the core application with no additional extensions or settings
[I 14:31:25.028 NotebookApp] 0 active kernels 
[I 14:31:25.028 NotebookApp] The Jupyter Notebook is running at: http://localhost:8889/
[I 14:31:25.028 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

如果您在本地計算機(而不是伺服器)上執行Jupyter Notebook,您的預設瀏覽器應已開啟Jupyter Notebook web應用程式。如果沒有,或者如果關閉視窗,您可以導航到輸出中提供的URL,或導航到localhost :8888進行連線。 每當你想停止Jupyter Notebook程序時,按CTRL+C ,出現提示時鍵入Y ,然後ENTER確認。 您將收到以下輸出:

Output[C 12:32:23.792NotebookApp]Shutdown confirmed
[I 12:32:23.794NotebookApp]Shutting down kernels

Jupyter Notebook現在不再執行。

第4步 - 使用Jupyter Notebook

本節討論使用Jupyter Notebook的基礎知識。如果您當前沒有執行Jupyter Notebook,請使用jupyter notebook命令啟動它。 您現在應該使用網路瀏覽器連線到它。 Jupyter筆記本是非常強大,有很多功能。本節將概述幾個基本功能,讓您開始使用筆記本。 Jupyter Notebook將顯示它執行的目錄中的所有檔案和資料夾,所以當你在一個專案上工作時,確保從專案目錄中啟動它。 要建立新的筆記本檔案,請從右上角的下拉選單中選擇新建 > Python 3 :建立一個新的Python 3筆記本這將開啟一個筆記本。我們現在可以在單元格中執行Python程式碼或將單元格更改為markdown。例如,通過從頂部導航欄中單擊“ 單元格” >“ 單元格型別” >“ Markdown” ,將第一個單元格更改為接受Markdown。 我們現在可以使用Markdown寫筆記,甚至包括用LaTeX寫的方程,把它們放在$$符號之間。例如,在將其更改為markdown後,在單元格中鍵入以下內容:
# Simple EquationLet us now implement the following equation:
$$ y = x^2$$

where $x =2$
要將markdown轉換為富文字格式,請按CTRL+ENTER ,以下應為結果:結果的降價您可以使用markdown單元格來記錄和記錄您的程式碼。讓我們實現那個簡單的方程並列印結果。單擊頂部單元格,然後按ALT+ENTER在其下新增一個單元格。在新單元格中輸入以下程式碼。
x =2
y = x**2print(y)
要執行程式碼,請按CTRL+ENTER 。您將收到以下結果:簡單方程結果您現在可以匯入模組並使用膝上型電腦,就像使用任何其他Python開發環境一樣!