Jupyter Notebookでコードの自動補完をする

Jupyter Notebookでコードの自動補完をする
目次

Jupyter Notebook はPythonの開発環境として良く利用されますが、デフォルトではコード補完が有効になっていません。 そのためパッケージのimport時には少し困ってしまいます。今回はJupyter Notebookでコード補完をする小ネタを紹介します。

コードを自動補完したい!

IDEを使う上で、コーディングをサクサク進めるためにコード補完は重要な機能です。 IDEや人によって オートコンプリート と言ったり、 自動補完 と言ったり、 インテリセンス と言ったり表現は様々ですが機能としては一緒です。

Jupyter Notebook でコーディングするときに自動補完が有効になる方法を調査したので、備忘録として残しておきます。

方法その1: IPCompleter.greedy を使う

まず一番簡単な方法を紹介します。

任意のNotebookファイルを開き、以下のマジックコマンドを実行するだけです。

1%config IPCompleter.greedy=True

Tab キーを押すことで入力補完が表示されます。

ただし、打キー後に候補表示されるまでワンテンポ遅れます。手元の環境では1-2秒程待たされました。

方法その2: Nbextensions の自動補完を使う

次に Jupyter Notebook の拡張機能をまとめて導入するためのライブラリを使う方法を紹介します。 以下のコマンドでは Jupyter Notebook が既にインストールされていることを前提とします。

1# ライブラリをインストール
2pip install jupyter-contrib-nbextensions
3pip install jupyter-nbextensions-configurator
4
5# 拡張機能を有効化する
6jupyter contrib nbextension install
7jupyter nbextensions_configurator enable

その後、Jupyter Notebookを再起動すると、 Nbextentions というタブが追加されていることがわかります。

nbextentions.png

コード補完に使う Hinterland を有効化します。

入力中に自動で候補が出てきますし、Tab キーを押すことで入力候補を表示します。 方法1の IPCompleter.greedy と比較して候補の表示が素早いのでこちらがいいかもしれません。

completion.png

まとめ

Jupyter Notebook 上でのコード補完の方法を紹介しました。体感としては 方法2のNbextensions の自動補完を使う方をオススメします。 補完も早いですし、タイピングの途中でも候補表示を出してくれるので親切です。

参考にさせていただいたサイト