Jupyterで複数カーネルを簡単に選択するための設定

More than 1 year has passed since last update.


はじめに

 最近になって,Anacondaで仮想環境を作成して用途に合わせた環境でコーディングするようになりました。その中で、所有しているPCのうち、なぜか一台だけは何の設定をしなくてもJupyter Notebookからカーネルを選択できたのですが、それ以外のPCでは設定無しではカーネルを選択することができませんでした。(おそらくAnacondaのバージョンの問題。)

 そこで、カーネルをJupyter Notebookから選択することができるようにするために、ネット上で色々と調べてみました。しかしながら、私の環境では、(Windowsだからか)追加のパッケージを入れてもうまくいかなかったり、コマンドの情報が古かったりしたので、自分用にまとめておきます。

 この設定をすることで、次のように一瞬でカーネルを変更できるようになります!

jupyter_disp.png


実行環境


  • Windows 10(64bit)

  • Anaconda 4.3.0(64bit)


設定手順


仮想環境の作成

 condaを使うことで、簡単に仮想環境を作成することができます。今回は、jupyterを使うことを前提としているので、この仮想環境の作成時に同時にjupyterもインストールしておきます。


create_env

# 仮想環境の作成、jupyterもインストール

$ conda create --name=test python=python3.6 jupyter
# 仮想環境ができたかの確認、リストに表示されていれば成功
$ conda info -e

pythonのバージョンや--name=<名前>は、自分の環境に合わせて適当なものを入力してください。


仮想環境のカーネルをjupyterに追加

 この段階では、まだカーネルは追加されていないと思います。ここで、次のコマンドを実行してみてください。


check_kernel

# 利用可能なカーネルの表示

$ jupyter kernelspec list

ここに、先ほど追加した仮想環境のカーネルを追加します。仮想環境をアクティベートした状態で次のコマンドを実行します。


install_kernel

# 仮想環境をアクティベート

$ activate test
# カーネルを追加
$ ipython kernel install --user --name=test --display-name=test

以上で、Jupyter Notebook上でカーネルの切り替えや選択をすることができるようになっています。

最後に、カーネルを追加するときの主要なオプションについて、まとめておきます。

オプション
役割

-h, --help
オプションに関するヘルプを表示

--user
現在ログイン中のユーザーにインストール

--name NAME
カーネルスペックの名前を指定
複数のIPythonカーネルを指定するときには必須

--display-name DISPLAY_NAME
表示されるカーネルの名前を指定


追加したカーネルを削除する方法

 追加したカーネルの情報は、--userオプションを付けていた場合、~\AppData\Roaming\jupyter\kernelsの中に置かれています。ここにある--nameで指定した名前のフォルダを削除することで追加したカーネルを削除することができます。


参考


  1. stack overflow - Using both Python 2.x and Python 3.x in IPython Notebook

  2. Jupyter で、Anaconda 2 と Anaconda 3 を共存 + おまけ(Julia)

  3. Condaで作ってる仮想環境の切り替えをJupyter上で簡単に行う方法