Jupyterのセルにデフォルトで行番号を表示
僕は Jupyter Notebook を愛用しているのですが、セルの行番号を表示させるのにいちいちコマンドを入力して表示させるが嫌になったのでデフォルトで設定してみました。
動作
なお、もちろん一度ファイルを閉じ、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//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)
参考
-
- https://stackoverflow.com/questions/20197471/how-to-display-line-numbers-in-ipython-notebook-code-cell-by-default
- https://stackoverflow.com/a/29916445/9316234