Jupyter Notebook介紹及安裝說明
Jupyter Notebook介紹
要介紹及使用Jupyter Notebook之前,我們先簡單說明一下 IPython、Notebook、Jupyter這幾個名詞。所謂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當中的內容,包括計算的輸入/輸出、文件說明/解釋、數學運算及式子、圖片及所有豐富多媒體內容。
Jupyter Notebook安裝
若尚未決定是否要安裝Jupyter Notebook,可選擇免安裝試用的方式體驗一下,再來做決定。點選免安裝試用後會導引到下面畫面,您可以在不安裝任何東西的情況下,挑選下面任何一個範例來使用後,您將會得到一個暫時的Jupyter server來服務您所選擇的範例。如果您覺得還不錯,那您將可以選擇為自己開始安裝Jupyter Notebook了。

安裝前的準備:Python
開始安裝Jupyter Notebook前,您必需先安裝Python (Python 3.3及更高版本,或Python 2.7),如果還沒安裝可參考Python安裝教學。這時候可以有兩種選擇方式進行安裝,使用Anaconda安裝或是使用pip安裝。
使用Anaconda安裝
官方強烈建議使用Anaconda Distribution來進行安裝,因為Jupyter Notebook、常用的科學計算(Scientific Computing)及資料科學(Data Science)所需packages都已經包含在裡面,對於未來想進行Data Science的應用學習有很大的方便性。如果你還不會安裝Anaconda,您可以參考Anaconda介紹及安裝教學,將可以學到Step by Step的完整安裝詳細說明。
使用pip安裝
如果您已經是一個有經驗的使用者,那您可以可慮選擇Python的package manager -> pip來取代Anaconda的使用,並且根據您的版本進行些微不同的安裝方式
- Python 3版本
先進行pip版本升級(建議)
pip3 install — upgrade pip
進行安裝
pip3 install jupyter
- Python 2版本
先進行pip版本升級(建議)
pip install — upgrade pip
進行安裝
pip install jupyter
jupyter notebook安裝好後若要開始執行Jupyter Notebook,您可以從Windows開始選單(Start menu)中選擇Jupyter Notebook(如下圖)

或是在終端模式(Mac/Linux) or 命令提示模式(Windows)執行下列命令,同樣可以使用Jupyter Notebook了。
jupyter notebook
您就可以開啟Jupyter Notebook(如下圖),點選New並選擇您已安裝的Python 3就可以開始使用了。

在開始使用之前,先對Jupyter Notebook整個使用介面,做一個完整的介紹如下。
Jupyter Notebook使用介面
Jupyter Notebook的編輯介面主要分為下面四部分:檔名(File Name)、主選單(Menu)、工具列(Toolbar)及編輯單元(Cell)。

命令模式(Command Mode)

編輯模式(Edit Mode)
儲存及載入(Saving/Loading)

程式碼及文本撰寫功能
程式碼和文本是由3種基本cells類型所包裝起來:Markdown cells、Code cells及Raw NBConvert cells。
- Edit

- Insert

- Executing

- View

使用指南(Help)
Jupyter Notebook提供了許多線上的使用指南,包括在Data Science中常用的packages。

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

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

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

了解Jupyter Notebook之後,您將可以更快速及便利的開始學習撰寫有關的程式,邁向Data Science的學習之路又前進一步了。