教你搭建一個好看的 Jupyter 環境

發表於2017-05-08

又到擺脫重複工作,換個心情,然而並沒有軟用的時間了。這次,教大家如何搭建一個好看的jupyter環境。

安裝Jupyter

先來展示一下我的環境

  • python: 3.5.*
  • macos: 10.12.4

安裝Jupyter的過程只需安裝Anaconda即可。

測試一下初始設定:

配置ipython

首先,如果每次你開啟一個nb(notebook)時,如果都需要載入一些模組,一個很好地方法就是配置ipython的配置檔案,可以直接使用以下命令建立配置檔案:

此時你會在~/.ipython/profile_default/目錄中獲得下面兩個檔案:

  • ipython_config.py:開啟任意ipython kernel時都會執行
  • ipython_notebook_config.py:開啟notebook時會執行

配置方式是在所需要的配置檔案中先鍵入:

然後就可以通過修改c的屬性來控制所有的配置。

顯然,對大多數分析場景,numpy, scipy, pandas是肯定要載入的,因此,寫到配置中即可:

配置matplotlib

還有一個常用功能就是matplotlibmatplotlib在notebook中需要使用

才可預設在notebook中顯示影像,一個簡單地方法就是在配置檔案中加入,

當然,預設也需要載入matplotlib

當然,也可以更多。但這樣可能會影響初始化notebook和ipython shell的速度,這個請大家自己權衡。

matplotlib顯示中文

此外,單獨拎matplotlib出來的另一個原因是,matplotlib還有一箇中文顯示的問題。

首先,解決編碼問題

python 2.7.*的解決方案是,在配置中加入:

python 3.*出於某些原因,不建議通過sys模組修改編碼,原因參見這裡

解決方案是,在shell的配置中重新設定配置變數(bash的話設定檔案.bashrczsh則設定檔案.zshrc)。方法是末尾新增:

當然另一個方法是在啟動notebook時使用

第二個是修改matplotlib的預設字型

首先我們來看可以使用的字型

你應該看到下面這樣的表格:

教你搭建一個好看的 Jupyter 環境

然後找到支援中文的字型名,然後設定matplotlib的預設字型:

當然,你可以新增到剛才的配置中,或者採用這個部落格的方法

此外,如果你使用seaborn的話,seaborn在設定配置時可能會覆蓋掉matplotlib,此時採用以下程式碼即可:

但是,該語句不建議寫在配置中,因為經常需要修改,可能會覆蓋之前的配置。

matplotlib在Retina螢幕中顯示模糊問題

直接使用下面語句即可,

當然也可在配置中直接加入

修改notebook樣式

預設的notebook可以逼你心中大喊WTF,這時候你需要一點CSS技能,修改~/.jupyter/custom/custom.css的內容。

個人認為最需要修改的內容包括

  1. notebook的預設寬度:notebook預設比較寬,markdown文字會顯得比較少,如果需要對外展示,文字部分會過少。
  2. notebook的程式碼字型

我的修改規則是:

安裝Jupyter常用外掛

這裡推薦兩個jupyter外掛:

外掛管理器jupyter notebook extensions

github地址在這裡。安裝和介紹也可以參考。

然後你就可以在jupyter主頁裡找到下面的標籤頁管理外掛了:

教你搭建一個好看的 Jupyter 環境

jupyter Dashboard

如果你的jupyter服務是搭建在主機上,並且平時和業務人員想用notebook地址的方式交付,jupyter dashboard外掛是一個不錯的選擇。

安裝方法和github地址在這裡

原本效果如下:

教你搭建一個好看的 Jupyter 環境

點選如下紅色設定,並點選黃色按鈕後

教你搭建一個好看的 Jupyter 環境

就可得到如下的報告形式(刪去了業務人員不想檢視的程式碼),然後就可以貼上連線交付報告了:

教你搭建一個好看的 Jupyter 環境

切換成dashboard模式可以拖拽相關方格來設定位置。


大功告成,現在開工!

相關文章