對於 python 新手,在初學 python 時難免會被書上介紹的 IDE(集成開發環境) 弄得眼花撩亂,而不知何去何從,想要有一個簡單的 python 學習環境而苦惱?對於 python 老手,或許這都不是問題,但想要實現移動開發,不想在本機開發,到處趴趴走,到哪裡就 coding 到哪,或許會遇到許多重重的困難,或是在玩視覺化資料分析的朋友們,這時 Jupyter Notebook 絕對是你們的救世主。

Jupyter Notebook 是什麼?

Jupyter Notebook是一個開源Web應用程序,能夠結合「程序處理」及「輸出展示」的互動式的筆記本系統,並支援多種程式語言,舉凡Python、R、Julia等,另外還支援Markdown語法,簡單來說,就是可以在網頁上撰寫 python 程式碼的線上編輯器,並結合運行程式視覺化呈現等多功能的網頁。
說了那麼多,就趕緊開始吧!

Jupyter Notebook 初體驗

在安裝 Jupyter Notebook 之前,不妨到官網體驗看看 jupyter notebook 的操作方式,看看合不合你的胃口,以免水土不服,官網很佛心的開放讓大家體驗看看→官網

進到官網,找到 “try it your browser” 按鈕。

點擊進去之後,會發現有好幾個選項可以選,我們先選擇第一個”try jupyter with python”,來試試。

不一會兒就可以進入筆記本了,預先會有一些歡迎的字樣。

我們可以先點選上方功能欄上的剪刀,把預先的欄位刪除。

那就輸出 “Hello World!!” 試試吧。

點選上方的 Run 按鈕,即可運行程式碼。

語法錯誤時也會有相對應的提示,jupyter notebook 特別的地方在於使用稱作為 “Cell” 的城市區塊單位,我們可以單獨運行單一一個 cell 有助於我們除錯,增加排錯的效率。

做到這裡,是不是發現 jupyter notebook 真的超級方便呢?但畢竟官網的體驗不適合開發,網頁關了則所有東西都沒了,接下來要教你如何實現將jupyter notebook 安裝在 server 端,實現不被時間空間所限制的移動開發。

Jupyter Notebook 安裝

需要一台 VPS 主機

什麼?!要一台 VPS 主機!!
沒關係,沒有 VPS 主機的朋友們別急著把這個網頁關掉,GCP(Google Cloud Platform)有提供300美金的一年體驗及 always free 的方案,身為學生的朋友,可使用 .edu 的信箱,申請 github 的學生包(Student Developer Pack)獲得AWS 75美金/Digital Ocean 的 50 美金使用,來免費獲得 VPS 主機,有機會的話可能會寫這類的教學文,有興趣的人可以先 google 爬文一下;已經有 VPS 的就趕緊接下一步囉。

VPS 設置

本教學以 GCP 來做示範,先到 Compute Enigine 來增加一個 VM 執行個體,我選擇1vcpu/1.7g 記憶體 並搭配 Ununtu 16.04 LTP 作業系統的方案,讀者可以依自己的需求斟酌調整。

往下拖拉,記得將防火牆的 “允許 HTTP 流量” 及 “允許 HTTPS 流量” 的選項勾選起來,接著就可以選擇建立來啟用 VPS 了。

成功建立後記得到 VPC 網路的 “外部 IP 地址” 將IP從 “臨時” 改為 “靜態”,以免重開機後 IP 改變。

接著同樣在 VPC 網路的地方,選擇 “防火牆規則”,點選 “建立防火牆規則”,輸入名稱,目標改成”網路中的所有執行個體”,來源 ip 範圍填入”0.0.0.0/0″,通訊協定和通訊埠輸入”tcp:5000″(可視情況更改),點選建立VPS 的部分也就大功告成囉~

接著我們再到 Compute Engine 建立好的 VPS 點選 “SSH” 按鈕來連線。

server 端設置

連接成功後就會看到黑黑的畫面,表示已經進入文字介面的系統了,待會我們要輸入指令來安裝,不懂指令的也別太過緊張,基本上只要照著教學照打,新手一樣可以成功喔!

首先依序輸入以下指令來安裝,中途如果出現 yes/no 的確認選項時,輸入 “y” 再按 enter 就可以了。

  1. 更新套件

sudo apt update

  1. 移除 python 2.7

sudo apt purge python 2.7

  1. 安裝 python 3

sudo apt install python3

  1. 安裝 pip (軟體包管理系統)

sudo apt install python3-pip

  1. 更新

sudo apt upgrade

  1. 更新 pip

sudo python3 -m pip install –upgrade pip

  1. 安裝 Jupyter

sudo python3 -m pip install jupyter

  1. 產生 jupyter notebook 設定檔

jupyter notebook –generate-config

  1. 使用 nano 編輯設定檔

sudo nano ~/.jupyter/jupyter_notebook_config.py

  1. 加入以下設定,完成後 ctrl+X 退出,會問你要不要儲存,一樣輸入”y”再 enter 即可。

c = get_config()
c.NotebookApp.ip = ‘*’
c.NotebookApp.open_browser = False
c.NotebookApp.port = 5000

  1. 使用 tmux 指令增加視窗,避免關掉 ssh 斷線時,程式停止運作。

tmux

  1. 設定 notebook 密碼

jupyter notebook password

  1. 啟動 jupyter

jupyter-notebook

看到這個畫面,就表示jupyter notebook 已經成功安裝並啟用了喔!這時就可以把這個視窗關掉,中斷 ssh 連線了。

打開 Jupyter Notebook

回到瀏覽器在網址輸入欄上輸入”你的網址:5000″(我們開的port),並輸入剛剛設定的密碼,就可以開始享用 jupyter notebook 囉~

Jupyter Notebook 登入畫面