Anacondaで仮想環境を構築する方法

Anaconda

アプリ開発などではプロジェクト毎にPythonのバージョンや必要なライブラリ等の必要な環境が異なります。パッケージ管理システムのAnacondaを使うと、プロジェクト毎に仮想環境を構築して、1つのローカルマシン上で複数の独立した環境を簡単に行き来することができます。今回はAnacondaで仮想環境(以下conda環境)を構築する方法と、構築した環境の確認方法をまとめました。

以下の環境を前提とします。

  • windows 10 (64bit)
  • anaconda 4.8.2をインストール済み

conda環境を作成する

Terminal上で以下のコマンドを使ってmyenvという名前のconda環境を作成します。

conda create -n myenv

conda環境を作成する時に、バージョンを指定して一緒にpythonをインストールすることができます。pandas等のライブラリも一緒にインストールすることができ、versionを指定しない場合は依存関係が許容される範囲で最新のバージョンがインストールされます。

conda create -n myenv python=3.6 pandas

構築したい環境の情報を書き込んだyamlファイルを読み込んでconda環境を作成することもできます。Terminal上で上記のpython3.6とpandasをインストールしたmyenvの情報をmyenv.ymlというファイル名のyamlファイルに出力します。

conda env export > myenv.yml

出力したyamlファイルの中身を確認すると、python3.6とpandas及び依存関係があるパッケージがインストールされている情報が記載されていることが分かります。

name: myenv
channels:
  - defaults
dependencies:
  - blas=1.0=mkl
  - certifi=2021.5.30=py36haa95532_0
  - intel-openmp=2021.3.0=haa95532_3372
  - mkl=2020.2=256
  - mkl-service=2.3.0=py36h196d8e1_0
  - mkl_fft=1.3.0=py36h46781fe_0
  - mkl_random=1.1.1=py36h47e9c7a_0
  - numpy=1.19.2=py36hadc3359_0
  - numpy-base=1.19.2=py36ha3acd2a_0
  - pandas=1.1.5=py36hd77b12b_0
  - pip=21.2.2=py36haa95532_0
  - python=3.6.13=h3758d61_0
  - python-dateutil=2.8.2=pyhd3eb1b0_0
  - pytz=2021.1=pyhd3eb1b0_0
  - setuptools=52.0.0=py36haa95532_0
  - six=1.16.0=pyhd3eb1b0_0
  - sqlite=3.36.0=h2bbff1b_0
  - vc=14.2=h21ff451_1
  - vs2015_runtime=14.27.29016=h5e58377_2
  - wheel=0.36.2=pyhd3eb1b0_0
  - wincertstore=0.2=py36h7fe50ca_0
prefix: C:\Users\*****\Anaconda3\envs\myenv

このyamlファイルを使ってmyenv2という名前で別のconda環境を作成します。

conda env create -n myenv2 -f myenv.yml

例えばプロジェクトのメンバーに同じ環境を構築してもらいたい場合は、このようにyamlファイルを配布することで仮想環境をコピーしてもらうことができます。

構築したconda環境を確認する

Terminal上で以下のコマンドを使ってbase環境とこれまで作成したconda環境の一覧を確認することができます。

conda info -e

以下のように出力され、現在使っている環境は*で示されます。

# conda environments:
#
base                  *  C:\Users\*****\Anaconda3
myenv                    C:\Users\*****\Anaconda3\envs\myenv
myenv2                   C:\Users\*****\Anaconda3\envs\myenv2

次のコマンドで作成したconda環境に移動します。

conda activate myenv

もう一度conda info -eを実行すると*がmyenvに付いていることが確認できます。

# conda environments:
#
base                     C:\Users\*****\Anaconda3
myenv                 *  C:\Users\*****\Anaconda3\envs\myenv
myenv2                   C:\Users\*****\Anaconda3\envs\myenv2

確認したいconda環境に移動した状態で次のコマンドを実行するとインストールされているパッケージとバージョンを確認することができます。

conda list

conda環境にパッケージを追加する

パッケージを追加する場合は、上記のconda activateコマンドで作成したconda環境に移動した状態で以下のコマンドを使います。ここではnumpyをversion1.14.1を指定してインストールしています。versionを指定しないでnumpyとだけ指定すると依存関係が許容される範囲で最新のバージョンがインストールされます。

conda install numpy == 1.14.1

反対にパッケージをアンインストールする場合は以下のコマンドを使います。

conda uninstall numpy

Pythonのパッケージをインストールする標準ツールとしてpip installが使われることが多いですが、conda環境を構築する場合はconda installに統一した方が安全のようです。詳細はこちらの記事で詳しく書かれていました。

不要なconda環境を削除する

最後に、不要になったconda環境を削除します。削除対象の環境に入ったまま削除することができないので以下のコマンドでbase環境に戻ります。

conda deactivate

次に以下のコマンドでconda環境myenvを削除します。

conda env remove -n myenv

conda info -eでmyenvが削除されたことが確認できます。

# conda environments:
#
base                  *  C:\Users\*****\Anaconda3
myenv2                   C:\Users\*****\Anaconda3\envs\myenv2

構築したconda環境をJupyterLabで使用する方法はこちらの記事にまとめました。

コメント

タイトルとURLをコピーしました