介紹
Jupyter Notebook是一個作為 Web 應用程式的互動式計算命令殼層。該工具可與多種語言一起使用,包括 Python、Julia、R、Haskell 和 Ruby。它通常用於處理數據、統計建模和機器學習。
本教程將引導您設置 Jupyter Notebook,以便在本地或從 Ubuntu 22.04 伺服器上運行,並教您如何連接並使用該筆記本。Jupyter 筆記本(或簡稱筆記本)是由 Jupyter Notebook 應用程序生成的文檔,其中包含計算機代碼和豐富的文本元素(段落、方程式、圖片、鏈接等),有助於呈現和分享可重現的研究。
通過本指南結束時,您將能夠在本地計算機或遠程伺服器上運行使用 Jupyter Notebook 的 Python 3 代碼。
先決條件
要遵循本教程,您將需要一個 Python 3 編程環境和 Python venv
模塊,無論是在
- 您的本地計算機上,或
- 在一個 Ubuntu 伺服器 上。
這個教程中的所有指令都應該以非根使用者身份運行。如果指令需要根許可權,則會在之前加上 sudo
。 使用 Ubuntu 22.04 進行初始伺服器設定 解釋了如何添加使用者並給予他們 sudo 許可權。
步驟 1 — 安裝 Jupyter Notebook
在這一部分中,我們將使用 pip
安裝 Jupyter Notebook。
啟用您想要將 Jupyter Notebook 安裝到的 Python 3 編程環境。在我們的例子中,我們將它安裝到 my_env
,所以我們將確保我們在該環境的目錄中並啟用它,如下所示:
接下來,我們可以確保 pip
已經升級到最新版本:
現在我們可以使用以下命令安裝 Jupyter Notebook:
此時 Jupyter Notebook 已安裝到當前的編程環境中。
下一個可選步驟是為了那些使用 SSH 隧道連接伺服器安裝的 Web 介面的人。
步驟2(可選)— 使用 SSH 隧道連接到伺服器安裝
如果您在遠端伺服器上安裝了 Jupyter Notebook,您將需要使用 SSH 隧道連接到 Jupyter Notebook Web 介面。Jupyter Notebook 在遠端伺服器上運行其瀏覽器介面在特定埠上(例如 :8888
、:8889
等),這些埠預設情況下不會向更廣泛的網路公開。SSH 隧道連接允許您安全地連接到遠端伺服器埠,然後可以使用本地 Web 瀏覽器訪問它們。
請注意,這些指示旨在從本地終端窗口運行,即不是您已經連接到伺服器的窗口。
SSH 隧道連接
如果您使用的是Windows,您需要安装OpenSSH的一个版本才能从终端ssh
。如果您更喜欢使用PowerShell,您可以按照微软的文档添加OpenSSH到PowerShell。如果您更喜欢使用完整的Linux环境,您可以设置WSL,即Windows子系统,它默认包含ssh
。最后,作为轻量级的第三个选择,您可以安装Git for Windows,它提供了一个包含ssh
命令的本地Windows bash终端环境。这些选项都得到了很好的支持,您决定使用哪个将取决于个人偏好。
如果您使用的是Mac或Linux,则已经在您的终端中可用ssh
命令。
创建SSH隧道的步骤与如何使用SSH连接到Droplets指南类似,只是在ssh
命令中添加了额外的参数。本小节将概述在ssh
命令中成功进行隧道所需的附加参数。
通过在新的本地终端窗口中运行以下SSH命令可以进行SSH隧道连接:
ssh
命令打開了一個 SSH 連接,但 -L
指定了要將本地 (客戶端) 主機上的給定端口轉發到遠程端 (服務器) 上的給定主機和端口。這意味著在服務器上運行的第二個端口號 (例如 8888
) 將出現在您本地計算機的第一個端口號 (例如 8888
) 上。
如果您收到端口 8888
不可用的消息,您可以將其更改為另一個小於 65535 的任意端口號。端口號 8888 沒有特殊意義,但通常用於像這樣的演示。
server_username
是您在服務器上創建的用戶名 (例如 sammy),而 your_server_ip
是您服務器的 IP 地址。
例如,對於用戶名 sammy
和服務器地址 your_server_ip
,該命令將是:
在運行 ssh -L
命令後如果沒有顯示錯誤,您可以進入您的編程環境並運行 Jupyter Notebook:
您將收到帶有 URL 的輸出。從本地機器上的 Web 瀏覽器中,使用以 http://localhost:8888
開頭的 URL 打開 Jupyter Notebook Web 介面。確保包含令牌號碼,或在 http://localhost:8888
提示時輸入令牌號碼字符串。
步驟 3 — 執行 Jupyter Notebook
安裝了 Jupyter Notebook 後,您可以在終端中執行它。要這樣做,請執行以下命令:
A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first notebook you are running will usually run on port 8888
. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:
Output[I NotebookApp] Serving notebooks from local directory: /home/sammy
[I NotebookApp] 0 active kernels
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 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.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels
Jupyter Notebook 現在已不再運行。
步驟 4 — 使用 Jupyter Notebook
本部分介紹使用 Jupyter Notebook 的基本知識。如果您目前沒有運行 Jupyter Notebook,請使用 jupyter notebook
命令啟動它。
你現在應該已經用網頁瀏覽器連接上了。Jupyter Notebook非常強大,並且具有許多功能。本節將概述一些基本功能,讓你開始使用筆記本。Jupyter Notebook會顯示從其運行的目錄中的所有文件和文件夾,所以當你在項目上工作時,請確保從項目目錄開始運行。
要創建一個新的筆記本文件,請從右上角下拉菜單中選擇新建 > Python 3:
這將打開一個筆記本。現在我們可以在儲存格中運行Python代碼,或將儲存格更改為markdown。例如,點擊頂部導航欄中的儲存格 > 儲存格類型 > Markdown,將第一個儲存格更改為接受Markdown。現在我們可以使用Markdown編寫筆記,甚至可以在LaTeX符號之間放置方程式。例如,將以下內容輸入到更改為markdown的儲存格中:
# 簡單方程式
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
要將markdown轉換為豐富文本,按下Ctrl+Enter
,應該看到以下結果:
你可以使用markdown儲存格來做筆記和記錄你的代碼。讓我們實現這個簡單的方程式並打印結果。點擊頂部儲存格,然後按Alt+Enter
在其下方添加一個儲存格。在新的儲存格中輸入以下代碼。
運行代碼,按Ctrl+Enter
。你將收到以下結果:
你現在可以匯入模組,並像在任何其他Python開發環境中一樣使用筆記本!
要在伺服器端關閉Jupyter筆記本,請返回您啟動它的終端窗口,然後按下Ctrl+C。這是結束終端進程的標準快捷鍵,Jupyter會提示您在退出之前保存。
結論
恭喜!您現在應該能夠使用Jupyter Notebook以Markdown編寫可重現的Python代碼和註釋。要從界面內快速了解Jupyter Notebook,請從頂部導航菜單選擇幫助 > 用戶界面導覽以獲取更多資訊。
從這裡,您可能有興趣閱讀我們的時間序列可視化和預測系列文章。
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-for-python-3