この記事は
今日は、 Jupyter Notebookでconda仮想環境を使ってみたいと思います。
Google Colaboratoryへ持ち出せないdatasetを扱うときに重宝しますね。
前提
Anaconda のインストールは終わっている
Jupyter Notebook のインストールは終わっている
既存のconda仮想環境を作ってある (という名前とします)
準備
- Jupyter Notebookのプラグイン environment_kernels をインストールします。
pip install environment_kernels
今回は、conda仮想環境のデフォルトであるbaseへインストールしています。
理由は、Win + “r” -> “Jupyter Notebook” という操作で開きたいからです!
仮想環境のコピー
既存の仮想環境をJupyter Notebookで使いたい。
しかし、その環境へJupyter Notebookをインストールする必要があります。
できれば既存はそのままにしておきたいので、ここでは
- 仮想環境をクローンすることにします。
# <env_name>は既存のconda仮想環境
# <new_env_name>は新しい仮想環境の名前を付けてください
conda create -n <new_env_name> --clone <env_name>
Jupyter Notebookをクローン仮想環境へインストール
Jupyter Notebookのプラグイン environment_kernels が認識してくれるように、Jupyter Notebookを仮想環境へインストールします。
- クローンした仮想環境へ切り換えておきます。
conda activate <new_env_name>
- Jupyter Notebookをインストールします。
pip install jupyter
Jupyter Notebookのconfig
- 設定ファイルを生成します
jupyter notebook --generate-config
-
- 設定ファイルを編集します
手元がWindowsなので、notepadで編集しちゃいます
下記の はあなたの環境にあわせて変更してください
notepad C:\Users\<user_name>\.jupyter\jupyter_notebook_config.py
-
- 開いたファイルの末尾へ下記の2行を追記してください
Anacondaのインストールのしかたによっては、下記例のようなパスになっていない場合もあります。適宜変更してください。
Pythonのパス指定は、区切り文字を”\”を”\\”にするとか、”/”にするとか、r”~”にするとか、いろいろなやり方があります。下記はwindowのパス文字列の”\”を”/”にしています。
c.NotebookApp.kernel_spec_manager_class='environment_kernels.EnvironmentKernelSpecManager'
c.EnvironmentKernelSpecManager.env_dirs=['C:/Users/<user_name>/.conda/envs/']
# 下記の1行書きは2019-12-13現在ではうまくいきませんでした
# c.EnvironmentKernelSpecManager.conda_env_dirs = ['C:/Users/0000112345/.conda/envs/']
- 編集したら、保存して閉じます
Jupyter Notebookで確認
-
- Jupyter Notebookを起動する
- “Kernel” -> “Change kernel”で環境を切り換えられていることを確認
うまくいかなかったこと
- プラグインに認識してもらうには、ターゲット側にも Jupyter Notebook が必要ということを見落としていた。
今後
Google Colaboratoryと同じ見た目にしたいな。どうすればいいんじゃろ??
参考
- Automatic Environment Kernel Detection for Jupyter