2020.08.06 · 技術と道具

Jupyter Notebook上でconda仮想環境を切り替える

Pythonを使ってプログラムを作ったり、データ分析等の作業を行う場合、condaで仮想環境をいくつか作って作業をすることは多いと思います。私の場合、pyenvを使っているので、例えば下記のように各ディレクトリごとに使う仮想環境を変えるということもしています。

BASH
pyenv local anaconda3-2020.02/envs/py36

そうやって、作業を行うそれぞれのディレクトリに移って、Jupyter Notebookを立ち上げれば仮想環境を使い分けることができます。

ただ、そうすると仮想環境毎にJupyterをインストールする必要があったり、いちいちJupyter Notebookを起動しないといけないので、ちょっと面倒に感じることもあります。

そこで、Jupyter Notebookを1つだけ立ち上げて、その中で仮想環境を切り替えたくなります。その際、jupyter_environment_kernelsを使うと、それが実現できます。

まず、pipでパッケージをインストールします。

BASH
pip install environment_kernels

Jupyter Notebookに設定を追加する必要があるので、設定ファイルを作成します。

BASH
jupyter notebook --generate-config

~/.jupyter/jupyter_notebook_config.pyというファイルが作成されるので、下記の内容を追記します。

PYTHON
c.NotebookApp.kernel_spec_manager_class = 'environment_kernels.EnvironmentKernelSpecManager'
c.EnvironmentKernelSpecManager.conda_env_dirs = [ '/Users/inoccu/.anyenv/envs/pyenv/versions/anaconda3-2020.02/envs' ]

あとは、Jupyter Notebookを起動すると、下図のように仮想環境の切り替えができるようになります。

ただ、ここで作成したJupyter Notebookの設定ファイルは、すべての仮想環境で共有されるので、jupyter_enviromnet_kernelsがインストールされていない仮想環境では警告メッセージが表示されるようになるので、注意が必要です。

2020/08/06 18:06
← Dockerで作ったデータサイエンス環境のmatplotli…
StackStorm再入門 その4 Pythonスクリプトの… →
井上 研一
経済産業省推進資格ITコーディネータとして中小企業のDX・AI活用の現場で伴走支援を行う。「ITCプロセスガイドライン4.0」および「中小企業向けAI活用ガイド」執筆メンバー。著書・講演多数。ITエンジニアとして25年以上の実務経験。AI導入の実務に10年以上携わる。自ら開発したAIサービス「Gen2Go」が北九州発!新商品創出事業の認定を受ける。2026年4月より北九州市立大学大学院マネジメント研究科の学生としての顔も持つ。

本サイトおよびブログに掲載している内容は、特に明記のない限り、井上研一個人の見解に基づくものです。所属・関与する組織、団体、企業、研究会等の公式見解を示すものではありません。