Jupyter Notebook Server API 筆記(1)

陳小痘
8 min readNov 25, 2019

--

最近筆者因為工作所需,所以需要了解一下 Jupyter Notebook API,因此以下內容主要是紀錄我研究後的筆記,不是完整教學,先讓讀者得知一下。

何謂 Jupyter Notebook

Jupyter Notebook 是由 IPython Notebook 演化而來的,它是一個基於 Web 的交互式計算環境,用於創建 Jupyter Notebook 文檔。 Jupyter Notebook 文檔是一個 JSON 文檔。包含一個有序的輸入/輸出單元格列表(Cell List),這些單元格(Cell)可以包含代碼(Code)、文本(使用Markdown語言)、數學、圖表和富媒體。通常以「.ipynb」結尾擴展。

Jupyter Notebook 也提供了 Jupyter Notebook Server API。
官方文件在以下連結,如果有興趣的讀者可以前往專研:
https://github.com/jupyter/jupyter/wiki/Jupyter-Notebook-Server-API

註: IPython 是一種基於 Python 的互動式直譯器( 因此 IPython 中的「I」代表「互動」)。相較於原生的 Python Shell,IPython 提供了更為強大的編輯和互動功能。

安裝過程

Python,是我們首先要安裝的程式語言,之後會撰寫 Python 程式去使用 Jupyter Notebook Server API。而讀者可能首先會思考:我到底要安裝 Python 2 好,還是 Python 3 呢?這邊筆者建議直接選擇 Python 3,因為官方已表示:Python 2 將在2020年1月1日就會結束其生命周期,將不會有維護者繼續開發 Python 2 以及安全補丁。所以為了未來性,筆者決定選用了Python 3。

(1) 首先來到 Python 官網: https://www.python.org/
點選 Downloads 標籤,接著點選 Windows。

Downloads → Windows

(2) 我們進入 Windows 版本的 Downloads 頁面,會有琳琅滿目的項目。筆者建議下載 Python 3 Stable Releases 最新版(此時是 Python 3.7.5),並選擇 64 bit 運行起來會更為穩定,而 installer 是最簡易的安裝方式。

下載 Stable Releases 最新版的 64bit installer

(3) 執行 python-3.7.5-amd64.exe,有一項重點:記得勾選 "Add Path 3.7 to Path",這樣子即可對 Python 進行環境變數的設定配置;如果不勾選的話,在安裝成功後還要自己手動設定,十分麻煩。

記得勾選 "Add Path 3.7 to Path"

Requests,是用 Python 編寫的 HTTP 庫,跟 urllib、urllib2 類似,但更為方便。在編寫爬蟲和測試伺服器響應資料時經常會使用到 Requests。
Requests 是以 PEP 20 的習語為中心開發的,它也支援了 Python 3。

(1) 首先開啟 cmd (命令提示字元),並輸入 "pip3 install requests"

安裝 requests for Python 3

(2) 安裝完後,可能會出現:建議 pip 升級最新版的訊息。因為在安裝 Python 3 時,pip 也會跟著安裝進來。我們只要把提供的指令" python -m pip install –upgrade pip",複製下來貼上下一行去執行,即可升級 pip 至最新版。

註:pip 是一個以 Python 語言寫成的軟體包管理系統,它可以安裝和
管理軟體包,另外不少的軟體包也可以在「PyPI」中找到。

升級 pip 至最新版

WebSocket,是一種網路傳輸協定,WebSocket 使得 Client 和 Server 之間的資料交換變得更加簡單,允許 Server 主動向 Client 推播資料。 而它和一般 http 或 https 不同的是: 在 WebSocket API 中,Browser 和 Server 只需要完成一次交握,兩者之間就可以建立永續性的連接,並進行雙向資料傳輸。不必再透過一直發送 Request 來與 Server 互動!

(1) 在 cmd (命令提示字元),輸入 “ pip install websocket-client”,即可
安裝好 websocket。

安裝 websocket for Python 3

Jupyter Notebook,是我們最後要安裝的項目,官方建議使用Anaconda Distribution 來進行安裝,因為 Jupyter Notebook、科學計算(Scientific Computing)及資料科學(Data Science),所需的 packages 都已經包含在裡面,對於未來想進行資料科學的應用學習有很大的方便性。但我們這邊一樣是採用 pip 的方式做安裝。如果想使用 Anaconda 的方式安裝 Jupyter Notebook,可以自行前往官網下載安裝: https://www.anaconda.com/

(1) 在 cmd (命令提示字元),輸入 “pip3 install jupyter”,即可安裝好
jupyter。

安裝 jupyter for Python 3

(2) 安裝好 Jupyter Notebook,可以透過 cmd (命令提示字元),輸入 “ jupyter notebook”,即可開啟 Jupyter Notebook 來使用。
token,為之後驗證使用,它類似密碼。我們之後撰寫 Python 程式的時候
會使用到 token,所以記得先把它記錄下來。

開啟 Jupyter Notebook,token 為之後驗證使用

Jupyter Notebook 基本簡單操作

藉由瀏覽器開啟 Notebook Dashboard,你會先好奇這目錄是在哪裡?
其實它是位在:C:\Users\[使用者]
這是預設位置,而我們可以直接在這路徑底下,開新檔案。
New → Python 3

Notebook Dashboard (主面板)

開新檔案後,就會來到 Notebook Editor 供使用者編輯使用。
我們可以修改 "Untitled" 成我們要的檔名(.ipynb)。
至於 Menu、Tool Bar,上面的每個項目我就不一一介紹了。
接下來會以有使用到的功能才講解,請讀者多多包涵。
有興趣想了解的讀者可以前往官方文件說明:
https://jupyter-notebook.readthedocs.io/en/stable

Cell(單元格)的部分,是我們編輯程式碼和文本的地方, 由 3 種類型
供使用者切換:Code、Markdown、Raw NBConvert。我們可以在 Code
的下拉式選單做選擇。
Code 用於編輯程式碼,Markdown 用於編輯文本,Raw NBConvert 中的
程式碼和文本…等等,都不會被運行。

Notebook Editor (編輯介面)

好的,接下來如何簡單編輯 Cell,去完成執行一段 Code。還有如何透過
撰寫 Python 程式,去跟 Jupyter Notebook Server API 做互動。將在下一篇:Jupyter Notebook Server API 筆記(2),會有介紹,如果有興趣的讀者可以前往閱讀,感謝 ^^

--

--