泣血整理,Jupyter Notebook最常用的五大配置技巧
說到Jupyter Notebook(以下簡稱Jupyter),想必很多人都不陌生,這是一款神奇的web應用,權且可以把它當作python超級筆記本,當然它還支持R、Julia、Scala、Js等幾十種語言。
在Jupyter上,可以使用python做數據處理、統計建模、可視化、機器學習、教學演示、網頁抓取等各種各樣的事情,只有你想不到,沒有它做不到。而且,你有可能只用了不到5%的Jupyter功能,它的寶藏工具實在太多。

本文不是來介紹Jupyter的那些神奇用法,而是想實實在在地為Jupyter初學者解決一些頭疼的問題。安裝Jupyter后,有些人會糾結:
- 怎么才能更改默認目錄、默認瀏覽器?
- 怎么設置登錄密碼?
- 如何使用Jupyter插件?
- notebook樣式又如何更換?
這些都會一一講到,但首先要提一下配置文件,這個很重要。
什么是Jupyter配置文件?
配置文件,顧名思義就是可以修改Jupyter各種配置的文件。想要修改Jupyter那些默認的配置選項,就需要在配置文件jupyter_notebook_config.py中修改相應配置選項的屬性。
這個配置文件一開始并不存在,需要手動生成。方式很簡單,在命令行輸入jupyter notebook --generate-config并執行,配置文件就創建好了,它的位置是在C:\Users\Administrator\.jupyter\中。

然后我們去c盤主目錄下打開.jupyter文件夾,就能找到配置文件:
- jupyter_notebook_config.py

配置文件是關鍵,后面都要用到的。
1. 更改默認工作目錄
一般情況下,Jupyter的默認工作目錄為C:\Users\Administrator\,這樣很不清爽,而且不便于管理項目,所以常需要在其他盤建立一個獨立的Jupyter工作目錄文件。

前面提到配置文件jupyter_notebook_config.py,工作目錄就在這個里面修改。
- 用記事本打開配置文件jupyter_notebook_config.py;
- Crtl + F組合鍵找到c.NotebookApp.notebook_dir元素,刪掉前面的注釋#;
- 在后面的單引號里輸入要設置的目錄路徑(注意雙斜杠),保存關閉;例如:
- c.NotebookApp.notebook_dir = "E:\\jupyter_notebook"
經過這四個步驟,工作目錄就修改好了,這時候不管你是通過快捷鍵還是命令行進入Jupyter Notebook,都能看到最新設置的目錄,干凈清爽。

2. 更改默認瀏覽器
很多小伙伴有自己的瀏覽器偏好,希望Jupyter運行在經常使用的那個瀏覽器上。
更改Jupyter默認瀏覽器也比較簡單,以設置chrome瀏覽器為例:
(1) 找到chrome.exe文件的安裝路徑,復制該路徑。
例如:u'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'
查找方式?右鍵chorme圖標,打開文件所在位置,如下圖:

(2) 用記事本打開配置文件jupyter_notebook_config.py;
(3) Crtl + F組合鍵找到c.NotebookApp.browser元素;
(4) 在找到記錄的下方添加以下代碼(注意替換為你的chrome.exe路徑):
- import webbrowser
- webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'))
- c.NotebookApp.browser = 'chrome'
保存文件。這樣就大功告成了,重新啟動Jupyter,就會在新設定的瀏覽器上運行。
3. 設置登錄密碼
假如你對自己的Jupyter目錄很敏感,不想讓別人輕易使用,那么可以設置登錄密碼。步驟如下:
- 用記事本打開配置文件jupyter_notebook_config.py;
- Crtl + F組合鍵找到c.NotebookApp.allow_password_change元素,修改為:NotebookApp.allow_password_change=False,并且刪掉前面的注釋#,保存文件;
- 回到windows命令行,運行jupyter notebook password,按照提示輸入新密碼(注意這里的密碼是不顯示的);

- 可以看到上一步生成了一個json文件,保存在.jupyter文件夾里,和配置文件一個位置。這個json文件保存了密碼生成的一段哈希值。找到該文件并打開,復制這段哈希值。
- 再一次打開配置文件jupyter_notebook_config.py;
- Crtl + F組合鍵找到c.NotebookApp.password元素,將前面的哈希值添加到后面,并且刪掉前面的注釋#,保存文件;示例:
- c.NotebookApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
4. 安裝擴展插件
Jupyter讓很多人喜歡的原因在于它提供了豐富的插件,包括顯示代碼執行時間、生成目錄、顯示變量名、代碼塊折疊等各種讓你舒適的功能。
使用插件前,必須要安裝擴展nbextensions。
全程在命令行安裝,步驟如下:
- 安裝nbextensions,執行pip install jupyter_contrib_nbextensions;
- 安裝javascript and css files,執行jupyter contrib nbextension install --user;
- 安裝configurator,執行pip install jupyter_nbextensions_configurator
- 重啟 Jupyter Notebook, 能看到nbextension 標簽

5. 修改notebook樣式
notebook自帶的樣式已經可以滿足日常使用需求了,如果想把notebook改造成自己喜歡的風格,也是很好實現的。
全程在命令行執行,步驟如下:
- 安裝主題樣式工具包:pip install jupyterthemes;
- 查看可用主題:jt -l;
- 切換主題(切換為chesterish主題):jt -t chesterish;
- 恢復默認主題:jt -r;
- 其他還有許多功能,可以改字體、樣式、寬度、占屏比等。
展示下網友嘗試的各種樣式:
chesterish

grade3

gruvboxd

gruvboxl

monokai
oceans16

onedork

solarizedd

solarizedl

總結
再說一遍,Jupyter是個神奇的工具,生產力與趣味性兼具,實用與美觀并存。用好它,python會更加大放異彩的。