快速安裝架設 Jupyter Notebook 並修改主題樣式

相信有在玩資料的朋友對於 Jupyter 不陌生吧,透過這套工具,能快速方便的玩分析、跑演算法、做視覺化。也因為 Jupyter 是開源軟體,常會在各大平台看見他的蹤跡,比如 KaggleGoogle Cloud DatalabAzure Notebook,雖然外觀與功能有些微差異,但本質上是一樣的。

這些雲端服務都能免費使用,但如果想要在本機開發專案,想要用自己硬體配置 (比如你有超強顯卡xd),又或是你注重隱私,不想把 Dataset 丟上雲端,那麼,你絕對要安裝一個自己的 Jupyter Notebook 呀!自己的工具自己搞定,讓我來告訴你如何做吧。


iPython 與 Jupyter 傻傻分不清?

網路上你可能會到 iPython、iPython notebook、Jupyter 這幾個名詞,都說玩資料要裝這個,到底哪個才對呢?

其實都對,Jupyter 的前身是 iPython,而 notebook 當初是以套件的形式依存在 iPython Project 之下。在 iPython 4.0 的版本之前,安裝的時候是 iPython 與 notebook 都要裝,缺一不可。如果只有 iPython 這款交互式直譯介面,你只能在 Shell 底下操作,雖然用起來比傳統的 Python Shell 來的好,可是還是在 Shell 底下啊!這年頭,除了對技術很有熱情的人,我想大家還是喜歡網頁介面吧,所以肯定要裝 notebook,才能透過網頁介面進行程式開發。

後來,iPython Project 為了要更專注於 Shell 的核心開發,把其他套件都轉移至 Jupyter Project,當中也包含了 notebook,所以說現在只要安裝 Jupyter 就搞定了。


Jupyter 有什麼強大的功能?

以前寫程式的時候,總是要完整地寫好才能執行,但對於資料分析者來說,載入 Dataset 可能就要花掉好幾分鐘,如果只是調個變數,觀察變化,然後要再等資料載入,不斷循環,你肯定會等的不耐煩。而 Jupyter 解決了這個問題,透過網頁介面,你可以將程式碼寫在不同的 Cell (區塊) 之中,並且分段落執行,已執行過的程片段會存在記憶體中,所以對於調整參數或是做測試來說,相當的方便,比如有時候想要看變數的值,直接開個 Cell 印出來看就好了 xd

真的,用了 Jupyter 就回不去了,他還有以下特色:

  • 支援超過 40 種程式語言,比如 Python、R,、Julia 與 Scala
  • 可以透過 email、Dropbox、GitHub 或是 Jupyter Notebook Viewer 與他人分享 Notebook
  • 可以顯示多媒體資源,比如圖片、影片、LaTeX 甚至是 JavaScript,也可以做 realtime 的資料視覺化

詳情可以去 Jupyter 的網站看囉。他現在已經強大到舉辦 conference 拉 (jupytercon)

http://jupyter.org/

安裝 Jupyter Notebook

在 Ubnutu 環境中先把套件更新,假如你是 Mac 就接著透過 pip3 安裝 Jupyter。(注意:pip3 install jupyter 前面不要加 sudo,免得待會開 server 的時候會出現權限問題)

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-pip
pip3 install jupyter

完成之後,透過 jupyter notebook 指令開啟 server,擁有網址的人就能連接進來使用,不過為了安全,我們會先做密碼設定 (新版本已經預設使用密碼或 token 登入了,所以還是要乖乖做好防護唷)。

透過以下指令新增一個設定檔,並設定密碼。

jupyter notebook --generate-config
jupyter notebook password

假如是在本機自行使用,直接下指令就行了

jupyter notebook

但如果你想要透過網路遠端存取,需要把預設的 ip 從 localhost 改為 0.0.0.0,綁定所有的本機 ip 地址 (熟的人就自行指定你的 ip),同時你也可以設定 port 等等細節。以下我將 port 改為 9487。

jupyter notebook --ip=0.0.0.0 --port=9487


設定 Jupyter Notebook 主題

假如你跟我一樣喜歡追求酷炫主題,肯定不喜歡預設的白色主題呀,寫程式的人都應該用黑底吧 xdd

可以先逛逛 dunovank 的 jupyter-themes,他提供許多 Jupyter 佈景主題,可以透過 jt 指令自行調整字型大小、字體、間距以及功能配置。下方是我喜歡的主題配置,如果你也喜歡,直接複製代碼安裝吧。

sudo pip3 install --upgrade jupyterthemes
sudo jt -t oceans16 -tf merriserif -tfs 10 -fs 12 -nf ptsans -nfs 13 -T -N -f roboto

以上就是 Jupyter 的介紹、安裝與主題設置,如果有甚麼新東西也歡迎在下方留言補充,之後會再分享好用的操作技巧,敬請期待囉。

平時會觀察網路行銷、雲端運算與資訊安全,同時也在思索人生的課題。當世界越快,心則慢,期許自己能靜靜閱讀,細細品味,然後好好思考。