Pythonを使ってデータ分析やモデル構築などを行うとき、用途に応じて「仮想環境」 を作成し、必要に応じて切り替えて使用することがあります。
仮想環境を作ることで、例えばPC全体で使うPython環境に影響を与えずにライブラリーの追加や入れ替えができるようになります。つまり、仮想環境ごとに、異なるバージョンの Python やライブラリーを入れることができます。
主な仮想環境を作成する方法は、以下の3つです。
- condaで作る
- venvで作る(Python3 の標準ライブラリ)
- virtualenvで作る(pipなどで別途インストール)
PythonをAnacondaでインストールされた方は多いと思います。その方は、condaで仮想環境を作ることが出来ます。その仮想環境を簡単にJupyter Notebookに登録することが出来ます。
多くの方は、Jupyter Notebook上でPyhtonコードを記述し実行している方も多いことでしょう。
今回は、「condaによるJupyter Notebook用仮想環境の作成方法」について説明します。
仮想環境の作成と実行、終了の流れ
まず、仮想環境の作成と実行(アクティブ)、終了の流れについて簡単に説明します。
コマンドプロント上で進めます。
以下のコマンドで仮想環境を作成します。○○は仮想環境の名前です。分かりやすい名前を設定しましょう。
conda create -n ○○
作成した仮想環境は以下のコマンドでアクティブにします。
activate ○○
仮想環境にライブラリーをインストールするときは、仮想環境がアクティブな状態でインストールします。△△はインストールするライブラリー名称です。
conda install △△
仮想環境を終了する場合、以下のコマンドで終了します。
deactivate
Jupyter Notebook上で使えるようにする流れ
次に、Jupyter Notebook上で使えるようにするまでの流れについて簡単に説明します。
仮想環境をJupyter Notebook上で使えるようにするために、コマンドプロンプト上でipykernelをインストールします。
pip install ipykernel
そして、Jupyter Notebookのカーネルとして仮想環境を追加します。○○は仮想環境の名前です。
ipython kernel install --user --name= ○○
Jupyter Notebookを立ち上げると、追加した仮想環境を選択し使えるようになっています。
最後に、具体的な作成例で説明します。
【作成例】時系列異常検知の仮想環境
時系列データの異常検知モデルを自動生成するLuminaireというPythonパッケージがあります。
Luminaireの仮想環境を構築し、Jupyter Notebook上で使えるようにします。
以下、ざっくりした流れです。
- Python 3.6 の仮想環境を作る
- その仮想環境上にLuminaireなどの必要なライブラリーをインストールする
- その仮想環境をJupyter Notebook上で使えるようにする
先ず、以下のコードをコマンドプロンプトなどに入力し仮想環境を作り、仮想環境をアクティブにします。ちなみに、今回は仮想環境の名称を「luminaire_env」にしていますが、好きな名称で構いません。
conda create -n luminaire_env python=3.6 activate luminaire_env
次に、その仮想環境上でLuminaireをインストールします。
pip install luminaire
仮想環境の中で必要なパッケージも、インストールしておいてください。以下は一例です。
pip install statsmodels matplotlib numpy scipy pandas
さらに、Luminaireがインストールされた仮想環境(luminaire_env)をJupyter Notebook上で使えるようにするために、ipykernelをインストールします。
pip install ipykernel
さらにさらに、Jupyter Notebookのカーネルとして作成した仮想環境を追加します。
ipython kernel install --user --name=luminaire_env
Jupyter Notebookで使うときは……
Jupyter Notebookを立ち上げ、仮想環境のカーネル(luminaire_env)を選択し新しいファイルを作り、Pyhtonコードを記載しデータ分析やモデル構築などを実施します。
まとめ
今回は、「condaによるJupyter Notebook用仮想環境の作成方法」について説明しました。
興味のある方は、試してみてください。