LoginSignup
251

More than 3 years have passed since last update.

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

Last updated at Posted at 2017-03-10

はじめに

 最近になって,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で指定した名前のフォルダを削除することで追加したカーネルを削除することができます。

また、以下のコマンドでカーネルを削除することができます。

uninstall_kernel
# カーネルを削除
$ jupyter kernelspec uninstall test

参考

  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上で簡単に行う方法

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
251