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
コメント