conda環境 エクスポート インポート

Conda

conda環境 エクスポート インポート

こちら以前紹介したcondaやdirenvを使うときは、ほぼ必須の機能でしょうか。
condaで作成した仮想環境をエクスポートしておき、それをプロジェクトのメンバーがインポートして使用することでライブラリのバージョン等に差異が出ず、同じ環境で作業することができます。

またdirenvでは、一度環境をインポートしてしまえば、対象のディレクトリへ移動するだけで、自動的に環境が切り替わるのでとても便利です。

direnvインストール Miniconda Ubuntu
direnvインストール Miniconda Ubuntu 久しぶりの記事の更新になりました。 昨年の10月から転職し、プログラマーを始めて、もう半年が過ぎてしまいました。 あっという間ですね。 さて、ブログのネタは大量に溜まっ...
condaコマンド 使い方 仮想環境
conda 使い方以前の記事で、Pythonを使用する際に便利なdirenvの紹介をしましたが、仮想環境はcondaを使用するため、condaで仮想環境を使用する際によく使うコマンドを備忘録も兼ねて記載します。他にも便利なコマンド等あ...

 

仮想環境のExport

仮想環境のエクスポート方法は以下です。

$ conda env export > [出力ファイル名]

一度エクスポートしたい仮想環境をアクティベートしてから、エクスポートを実施します。

$ source activate env1

$ conda env export > env1.yml
$ cat env1.yml 
name: env1
channels:
  - conda-forge
  - defaults
dependencies:
  - asn1crypto=0.24.0=py36_0
  - blinker=1.4=py_0
  - ca-certificates=2018.4.16=0
  - certifi=2018.4.16=py36_0
  - cffi=1.11.5=py36_0
  - chardet=3.0.4=py36_0
  - cryptography=2.2.1=py36_0
  - defusedxml=0.5.0=py36_0
  - idna=2.7=py36_0
  - oauthlib=2.1.0=py_0
  - openssl=1.0.2o=0
  - pycparser=2.18=py36_0
  - pyjwt=1.6.4=py_0
  - pyopenssl=18.0.0=py36_0
  - pysocks=1.6.8=py36_1
  - python3-openid=3.1.0=py36_0
  - requests=2.19.1=py36_0
  - requests-oauthlib=0.8.0=py36_1
  - six=1.11.0=py36_1
  - social-auth-app-django=2.1.0=py_0
  - social-auth-core=1.7.0=py_0
  - urllib3=1.22=py36_0
  - django=1.11.10=py36hd476221_0
  - libedit=3.1.20170329=h6b74fdf_2
  - libffi=3.2.1=hd88cf55_4
  - libgcc-ng=7.2.0=hdf63c60_3
  - libstdcxx-ng=7.2.0=hdf63c60_3
  - ncurses=6.1=hf484d3e_0
  - pip=10.0.1=py36_0
  - python=3.6.5=hc3d631a_2
  - pytz=2018.4=py36_0
  - readline=7.0=ha6073c6_4
  - setuptools=39.2.0=py36_0
  - sqlite=3.23.1=he433501_0
  - tk=8.6.7=hc745277_3
  - wheel=0.31.1=py36_0
  - xz=5.2.4=h14c3975_4
  - zlib=1.2.11=ha838bed_2
prefix: /home/ubuntu/miniconda3/envs/env1

 

仮想環境のImport

仮想環境のインポート方法は以下です。

$ conda env create --file [ファイル名]

$ conda env create --file env1.yml 
Solving environment: done

Downloading and Extracting Packages
setuptools-39.2.0    |  550 KB | ####################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate env1
#
# To deactivate an active environment, use
#
#     $ conda deactivate

インポート時の注意

インポートする仮想環境が既に存在する場合は、インポートできないので注意してください。

$ conda env list|grep -i env1
env1                     /home/ubuntu/miniconda3/envs/env1


$ conda env create --file env1.yml 

CondaValueError: prefix already exists: /home/ubuntu/miniconda3/envs/env1

インポートされる仮想環境名は、ファイルの「name:」の名前でインポートされるので、名前が衝突している場合は、リネームしてインポートしましょう。

$ cat env1.yml |grep -i name
name: env1


# リネーム
$ conda create --name env1_new_name --clone env1
$ conda remove --name env1 --all


$ conda env create --file env1.yml

 

コメント