---
# System prepended metadata

title: Jupyter Notebook 參考筆記
tags: [Python]

---

# Jupyter Notebook 參考筆記

###### tags: `Python`

## 參考資料
這篇文章是對[Jupyter Notebook介紹及安裝說明](https://medium.com/python4u/jupyter-notebook%E5%AE%8C%E6%95%B4%E4%BB%8B%E7%B4%B9%E5%8F%8A%E5%AE%89%E8%A3%9D%E8%AA%AA%E6%98%8E-b8fcadba15f)的部分修改
## 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這三部分所建立(可參考下圖)，圖中您可以看到其基本運作的過程。

![](https://i.imgur.com/Msm5b1f.png)

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，可選擇[免安裝試用](http://jupyter.org/try)的方式體驗一下，再來做決定。點選免安裝試用後會導引到下面畫面，您可以在不安裝任何東西的情況下，挑選下面任何一個範例來使用後，您將會得到一個暫時的Jupyter server來服務您所選擇的範例。如果您覺得還不錯，那您將可以選擇為自己開始安裝Jupyter Notebook了。

![](https://i.imgur.com/u6LCmuM.png)

安裝前的準備：**Python**

開始安裝Jupyter Notebook前，您必需先安裝Python (Python 3.3及更高版本，或Python 2.7)，如果還沒安裝可參考[Python安裝教學](https://medium.com/python4u/python%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8-3878c0d7a469)。這時候可以有兩種選擇方式進行安裝，使用[Anaconda安裝](https://medium.com/python4u/anaconda%E4%BB%8B%E7%B4%B9%E5%8F%8A%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8-f7dae6454ab6)或是使用pip安裝。

### 使用pip安裝

如果您已經是一個有經驗的使用者，那您可以可慮選擇Python的package manager -> pip來取代Anaconda的使用，並且根據您的版本進行些微不同的安裝方式

先進行pip版本升級(建議)

```
python -m pip install --upgrade pip
```

進行安裝

```
pip3 install jupyter
```

jupyter notebook安裝好後若要開始執行Jupyter Notebook，您可以在終端模式(Mac/Linux) or 命令提示模式(Windows)執行下列命令，就可以使用Jupyter Notebook了。

```
jupyter notebook
```

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

![](https://i.imgur.com/TEXzrlg.png)

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

## Jupyter Notebook使用介面

Jupyter Notebook的編輯介面主要分為下面四部分：檔名(File Name)、主選單(Menu)、工具列(Toolbar)及編輯單元(Cell)。

![](https://i.imgur.com/Gl9xa2T.png)

### 命令模式(Command Mode)

![](https://i.imgur.com/60pavI5.png)

### 編輯模式(Edit Mode)

![](https://i.imgur.com/EnhF1LU.png)

### 儲存及載入(Saving/Loading)

![](https://i.imgur.com/nTm71je.png)

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

* **Edit**

![](https://i.imgur.com/JgS7ZzL.png)

* **Insert**

![](https://i.imgur.com/lPYX7Fv.png)

* **Executing**

![](https://i.imgur.com/YxtcNwy.png)

* **View**

![](https://i.imgur.com/c36Js2n.png)

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

![](https://i.imgur.com/GmPXoX4.png)

### 小工具(**Widgets**)

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

![](https://i.imgur.com/9gYko3x.png)

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

![](https://i.imgur.com/0l7pPuv.png)

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

![](https://i.imgur.com/mMDRRVD.png)

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

