Jupyter Notebook Theme
Jupyter Notebook,也就是以前的 IPython Notebook,應該是許多人在用 Python 做資料分析時記錄實驗步驗與結果的工具。
現在 IPython (v4.0+) 已經回歸到 Interactive Python Shell 的本質,變成只是擴充內建 Python REPL 的套件,相依的模組也清掉了。原本的 IPyton Notebook 主要是提供一個像 Mathematica Notebook 的環境,功能很多就不多提。它可以用 web 或者 QT 介面來跑。
後來又開始整合很多語言,變成像 Julia / R / Lua 等語言都可以利用這樣的 Notebook 架構,於是 Jupyter 就因此誕生,變成原本的 IPython 只是其中一個可能的語言 kernel。Notebook 本身可以是 R 語言或者 Julia 語言。
Jupyter Notebook
用 Python 裝十分簡單,
$ pip install jupyter
Jupyter 預設走 web 介面,會跑一個 tornado server 預設在 http://localhost:8888 上。
$ jupyter notebook
[I 23:50:58.449 NotebookApp] Serving notebooks from local directory: /Users/liang
[I 23:50:58.449 NotebookApp] 0 active kernels
[I 23:50:58.450 NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[I 23:50:58.450 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
有裝 browser 的話就會自動開一個視窗。
Notebook 預設是 .ipynb
的檔案。常見的內容像這樣:
Custom Theme on v4.1+
EDIT: 2016-01-11 Jupyter Notebook 4.1 已釋出,設定路徑預設都在 ~/.jupyter
底下。
今天重點是換主題嘛。趕快來做吧。
可以透過 jupyter --config-dir
或 jupyter --paths
找到設定檔應該放的位置。
$ jupyter --config-dir
~/.jupyter
$ jupyter notebook --generate-config # 建立 Notebook 設定檔
Writing default config to: ~/.jupyter/jupyter_notebook_config.py
如果只是改主題,不需要更動 Notebook 設定檔。
目前自己使用的主題來自 dunovank,他有收集了至少深淺兩色,應該足夠使用了。CSS 從別人的基礎上來調整也相對簡單,我自己有改寫了一點(忘了改什麼)。dunovank 有寫個安裝 theme 的套件,不過不用也沒關係,只要準備好 CSS 就能用。我用 Grade3 這個主題來示範。
把 custom.css
放到 ~/.jupyter/static/custom.css
。設定的目錄長得如下:
$ tree ~/.jupyter -F -L 3
~/.jupyter
├── custom/
│ └── custom.css -> /path/to/custom_light.css
└── jupyter_notebook_config.py
Custom Theme Before v4.1
現在因為歷經 IPython 到 Jupyter 的過程,設定還蠻分散的。以往的設定會在 ~/.ipython
,而到了 Jupyter 之後,相關設定會在 ~/.jupyter
。有時候設定怪怪的話就兩個路徑都檢查一下吧。
只要把這個 CSS 放到 ~/.ipython/profile_default/custom.css
再重開 Jupyter Notebook 就可以了1。效果如下:
個人覺得長時間使用下來,對比度低一點對眼睛比較好。黑底也不錯,不過畫圖常常會自己帶白底,整體感覺就不是很漂亮,可能要連 matplotlib theme 一起改吧 XD
-
這路徑並不符合 Jupyter 跨 kernel 的設計理念,
感覺未來會改路徑已經在 4.1+ 版本中完成整合,與 IPython 設定分家了。 ↩