jupyter notebookで仮想環境を利用したい!


経緯

「TensorFlowではじめるDeepLearning」(インプレス 新村拓也=著)で学習を進めようと思ったらTensorFlowの最新版ではコードエラーが発生することが判明しました。
今後も同じような事態が起こることを考えると仮想環境の構築をマスターしておきたいと思い、環境を作成してみました。
本記事はその忘備録。

目的

・仮想環境を作成してTensorFlow 1.4をインストールする
・作成した仮想環境をjupyter notebookで使用する

手順

ベース環境にkernelを追加してくれるライブラリをインストールします。

pip install environment_kernels

次に仮想環境を新規に作成します。pythonとjupyter、ipykernelもついでにインストールしておきます。

conda create -n hoge python=3.6 jupyter ipykernel
conda info -e
$base * C:/Users/...  #アクティブな環境
$hoge    C:/Users/...

作成した仮想環境をアクティブ化します。

activate hoge
$(hoge) C:\Users\...>  #と表示されればOK

jupyter notebookのconfigファイルを作成します。

jupyter notebook --generate-config

.jupyter/jupyter_notebook_config.pyが作成されるので、適当な場所に以下を追記します。

c.NotebookApp.kernel_spec_manager_class = 'environment_kernels.EnvironmentKernelSpecManager'
c.EnvironmentKernelSpecManager.conda_env_dirs=['/home/User/Anaconda3/envs/']

[]内は仮想環境が保存されているフォルダを指定してください。

カーネルに仮想環境をセットします。

ipython kernel install --user --name=hoge

とりあえずこの状態で仮想環境が利用可能です。
jupyter notebookを起動すれば、kernelのタブに追加されているはずです。
あとは煮るなり焼くなり好きにしてください。

参考にした記事など

Using both Python 2.x and Python 3.x in IPython Notebook

Jupyter Notebookでpython3 Kernelを追加するのにはまったメモ

Anacondaで作成した仮想環境をJupyter NotebookのKernelに追加する

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

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

【jupyter】Anaconda仮想環境をjupyter notebookで使用する