Jupyter Notebook 完整介紹、安裝及使用說明

Python 開發環境介紹 - Jupyter Notebook 快速入門指南 (2021更新)

Coding Lab
AI for K-12

--

要開始介紹及使用 Jupyter Notebook 之前,我們分幾個面向來說明 Jupiter 的來源,相信讀者會更清楚整個發展及使用方向。首先, Jupyter Notebook 是 Jupyter 專案中的一個產品,而 Jupyter 專案是一個非營利性的開源專案,於 2014 年從 IPython 專案中誕生,其存在主要是為了可跨多種程式語言的互動式計算,所開發的開源軟體、開放標準及服務,而 Jupyter 專案中還有其他產品如下:

Jupyter 專案產品

1. Jupyter Notebook 介紹

在開始介紹 Jupyter Notebook 之前,先說明一下 IPythonNotebookJupyter 這幾個名詞及之間的相互關係:

  • Notebook:是將基於控制台的方式 (Console-based) ,延伸到一個可互動式計算的新方向,並且提供一個基於網頁式 (Web-based) 的方式來處理整個計算過程,包括開發、編輯、文件化及執行程式,並且可立即傳遞結果。
  • IPython:則是一個提供互動式運算架構的系統,具有強大的交互式 shell 及數據運算視覺化的特點,可方便且彈性的整合不同編輯器,擁有高效能及容易使用的平行運算功能,同時也是 Jupyter Notebook 其中的一個kernel。
  • Jupyter:如前面所提,它是一個從 IPython 發展演變而來的專案,後來持續發展成多語言不再只支援 Python。Jupyter 這個名字主要是由 Julia、Python 及 R 所構成,當然除了Julia、Python 及 R 之外,還有提供許多的 kernels (例如 Java、C#、Go、Ruby、JavaScript 等超過50多種 Jupyter kernels)。

另外 Jupyter 是由 Notebook Frontend、 Jupyter Server 及 Kernel Protocol 這三部分所建立(可參考下圖官方資料),下圖中您可以看到其基本運作過程。

Jupter Notebook 您可以把它想像成是上述所講的 IPython + Notebook 整合架構,它是一個介於編輯器(例如 Atom )及 IDE (Spider、PyCharm、Vim) 之間的應用環境,可讓您編寫程式時利用其直譯式的特性,達到高互動執行結果,並且很容易呈現資料視覺化的執行。Jupyter Notebook包含了兩個組成: Web Application Notebook Documents

  • 網頁應用程序 (Web Application):基於瀏覽器 (Web-based) 的互動創作及應用工具,包括可以計算、數學、文檔創作及豐富的多媒體輸出。
  • 筆記本文件檔 (Notebook Documents):顯示所有在上述網頁應用程序 (Web Application) 當中的內容,包括計算的輸入/輸出、文件說明/解釋、數學運算及運算式、圖片及所有豐富多媒體內容。

並且可以共享包含即時程式碼創作(live code)、方程式、可視化效果和敘述文本檔。用途包括數據清理 (Data Cleaning)和轉換 (Transformation)、數值模擬 (Numerical Simulation)、統計建模 (Statistical Modeling)、數據可視化 (Data Visualization)及機器學習 (Machine Learning)等,這些特性如下:

Jupyter Notebook 特性

2. Jupyter Notebook 安裝說明

若尚未決定是否要安裝 Jupyter Notebook,可選擇免安裝試用的方式體驗一下,再來做決定。點選免安裝試用後會導引到下面畫面,您可以在不安裝任何東西的情況下,挑選下面任何一個範例來使用後,您將會得到一個暫時的Jupyter server來服務您所選擇的範例。如果您覺得還不錯,那您將可以選擇為自己開始安裝 Jupyter Notebook了。

安裝前的準備:Python

開始安裝 Jupyter Notebook 前,您必需先安裝 Python (Python 3.3及更高版本),如果還沒安裝可參考Python 安裝教學及說明。這時候可以有兩種選擇方式進行安裝,使用Anaconda 3 安裝教學及說明或是使用pip安裝。

使用Anaconda安裝

官方建議使用 Anaconda Distribution 來進行安裝,因為 Jupyter Notebook、常用的科學計算 (Scientific Computing)及資料科學 (Data Science) 所需 packages 都已經包含在裡面,對於未來想進行 Data Science 的應用學習有很大的方便性。如果你還不會安裝 Anaconda,您可以參考Anaconda 3 安裝教學及說明,將可以學到 Step by Step 的完整安裝詳細說明。

使用 pip 安裝

如果您已經是一個有經驗的使用者,那您可以可慮選擇 Python 的 package manager -> pip 來取代 Anaconda 的使用,安裝方式可參考下方說明:

  • 先進行 pip 版本升級(建議)
pip3 install --upgrade pip
  • 進行安裝
pip3 install notebook

jupyter notebook安裝好後若要開始執行Jupyter Notebook,您可以從Windows 開始選單(Start menu)中選擇 Jupyter Notebook (如下圖)

或是在終端模式(Mac/Linux) or 命令提示模式(Windows)執行下列命令,同樣可以使用Jupyter Notebook了。

jupyter notebook

您就可以開啟Jupyter Notebook(如下圖),點選New並選擇您已安裝的Python 3就可以開始使用了。

建立一個新的筆記本 (Notebook)

在開始使用之前,先對 Jupyter Notebook 整個使用介面,做一個完整的介紹如下。

3. Jupyter Notebook 介面說明

接下來將介紹 Notebook 和不同 Notebook 模式下各 UI 元素的名稱及用法,其中我們可以將整個使用者介面看成是由下面這兩組件(Components)所組成的:Notebook Dashboard 以及 Note Editor。

Notebook Dashboard

啟動 jupyter notebook 時,第一個遇到的就是下圖中的 Notebook Dashboard。

Notebook Dashboard

Notebook Editor

選擇一個筆記本 (Notebook) 進行編輯時,該筆記本將在 Notebook Editor 中打開。此編輯介面主要分為下面幾個部分:檔名 (File Name)、主選單 (Menubar)、工具列 (Toolbar) 及編輯單元 (Cell),另外在右上角可以看到目前的編輯狀態及所使用的Kernel為何。

Notebook Editor

根據上圖我們先簡介一下圖中的編輯單元 – Cell。我們可以有兩個方向來看 Cell (如下圖),一個是 Cell Mode,另一個則是 Cell Type (後面會再說明)

Cell 架構

其中 Cell Mode 主要有兩種模式,分別是編輯模式 (Edit Mode) 及命令模式 (Command Mode)。

.Edit Mode

編輯模式由綠色單元格邊框和在編輯器區域中顯示的提示指示,當單元處於編輯模式時,您可以像普通的文件編輯器一樣鍵入到該編輯單元內。可以透過按 Enter 鍵或使用滑鼠游標單擊編輯單元 (Cell) 的編輯器區域來進入編輯模式。

Edit Mode

.Command Mode

命令模式則是由帶有藍色左邊界的灰色單元格邊框。在命令模式下,您可以整體編輯筆記本,但不能在單個單元格中鍵入內容。最重要的是,在命令模式下,鍵盤會對應到一組快速鍵,可讓您有效地執行筆記本和編輯單元操作。我們可以透過按 “ Esc” 鍵或使用滑鼠游標單擊 “在 Cell 的編輯器區域之外”來進入命令模式。

Command Mode

Notebook Editor UI

接下來將逐一介紹在 Notebook Editor 中各 UI 元素名稱及用法。首先,讀者可以參考下圖,以非常清楚及完整的方式說明整個 UI 的元素,接著我們將對每一個功能選單中的項目逐一介紹。

Notebook Editor UI

.File

功能選單 - File

.Edit

功能選單 - Edit

.View

功能選單 - View

.Insert

功能選單 - Insert

.Cell

功能選單 - Cell

.Kernel

Kernel 主要提供與前端 (front-end) 介面間的計算及通信,其中有三個主要的Kernels 如下:

3 種常用 Kernels

安裝 Jupyter Notebook 時將會自動安裝 IPython kernel,其它介面功能介紹如下圖:

功能選單 - Kernel

.Widgets

Jupyter Notebook 小工具 (Widgets) 提供了可視覺化及控制數據變化的能力。

功能選單 - Widgets

.Help

Jupyter Notebook 提供了許多線上的使用指南,包括在資料科學 (Data Science) 中常用的一些 Libraries。

功能選單 - Help

4. Jupyter Notebook 快捷鍵 (Shortcuts)

Keyboard Shortcuts

我們試著建立一小段程式碼看看效果,是不是很有趣呢!

My First Graph

了解 Jupyter Notebook 之後,您將可以更快速及便利的開始學習撰寫有關的程式,並且邁向 Data Science 的學習之路又前進一步了,我們會在接下來的文章或課程中,教大家如何學習 Python 這個性感的程式語言,以及許多有趣的大數據及機器學習課程。

※ 歡迎大家免費加入 AI Playground,讓您輕鬆動手訓練出獨一無二的 AI 模型及 AI 創意程式,我們將帶領孩子們接觸更多更有趣的人工智慧及機器學習課程。

※ 歡迎大家加入 CodingLab 許多有趣的課程,我們將帶領孩子們接觸更多更有趣的人工智慧及機器學習課程。

※ 歡迎同步訂閱 CodingLab 臉書粉絲專頁,我們會持續分享更多關於兒童資訊教育的相關新知。

※ 若有任何問題也歡迎透過臉書私訊留言給 CodingLab ,收到訊息後我們會盡快回覆您!

--

--