Help us understand the problem. What is going on with this article?

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

はじめに

 最近になって,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上で簡単に行う方法
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした