Jupyterのセルにデフォルトで行番号を表示
僕は Jupyter Notebook を愛用しているのですが、セルの行番号を表示させるのにいちいちコマンドを入力して表示させるが嫌になったのでデフォルトで設定してみました。
動作
以下はipynbを新規作成した画面ですが、既に行番号が表示されているのがわかると思います。
なお、もちろん一度ファイルを閉じ、jupyter-notebook を再起動しても再び行番号が表示されます。
環境
- Ubuntu 16.04 LTS
- Python3.5.2
- jupyter 4.4.4
- jupyter-notebook 5.6.0
コード
やることは簡単で以下のコードを ~/.jupyter/custom/custom.js
に追記するだけです。
※ ~/.jupyter/custom
のファイルやディレクトリが無い方は以下のコマンドで作成し、新規 custom.js
ファイルに書き込んでください。
※ ちなみにpyenv-virtualenvを使っている人の.jupyter/
の場所は~/.pyenv/versions/<your-version>/etc/jupyter/
です。
※2020/01/09追記 : pyenv-virtualenv
使っている方の例としては pyenv install 3.6.8
によってバージョン3.6.8を入れており、pyenv virtualenv 3.6.8 sample-env
によりsample-env
という仮想環境を構築した場合、custom.js
を記述するべきPATHは ~/.pyenv/versions/3.6.8/etc/jupyter/custom/custom.js
になります。仮想環境名のsample-env
下ではなく3.6.8
下であることに注意してください。ここでもフォルダがなければ作成してください。
$ mkdir -p ~/.jupyter/custom
// custom.js
//--------------------------------------------------------------------------------
// Display line numbers in code cell by default
//--------------------------------------------------------------------------------
var cell = Jupyter.notebook.get_selected_cell();
var config = cell.config;
var patch = {
CodeCell:{
cm_config:{lineNumbers:true}
}
}
config.update(patch)