LoginSignup
101
85

More than 5 years have passed since last update.

conda環境の保存と再構築の仕方

Last updated at Posted at 2017-12-26

conda環境のセーブとリストア

pipの環境はpip freezeを使った環境の保存と再構築の方法があります。
同様のことをAnacondaやMinicondaで作った環境(conda環境)でもできないか調べたところ、公式マニュアル にあったのでメモしておきます。

本記事での環境

Anaconda3/Miniconda3 4.3.30

方法

方法は2通りあります。
2の方法の方が利点が大きいです。

1. conda を使った方法

保存

conda list --explicit > env_name.txt

再構築(新規に環境をつくる場合)

conda create -n [env_name] --file env_name.txt

再構築(既存の環境に足す場合)

conda install --name [env_name] --file env_name.txt

公式マニュアル によると、こちらの方法は、エクスポートしたマシンと同じOS・アーキテクチャのマシン上の移行に使う必要があるとのことです。
エクスポートしたtxtファイル内にエクスポートしたマシンのOS・アーキテクチャ情報が入っています。
上記再構築のコマンドは、実行時にOS・アーキテクチャのチェックはしないので注意する必要があります。

2. conda env を使った方法

保存

conda env export -n [env_name] > env_name.yml

再構築

conda env create -f=env_name.yml

こちらの方法は1と違い、アーキテクチャに依存しません。別のOS・アーキテクチャのマシン上へも移行できます。

※2018/5/22追記 別のOSだとcondaやpipのリポジトリの内容が異なるため、そのまま移行はほぼ不可能でした。同種別OSの別バージョンへの移行までが現実的と思われます。

また、condaパッケージだけでなくpipパッケージの情報も入っているので、pip含めて全環境を移行できます。
でもこちらはおそらく、既存の環境にパッケージ追加、はできません。あくまで移行用。

※2018/5/22追記 ymlに書き足せば追加できるし、当然ながら環境構築後に個別で追加・削除もできます。

備考

  • whlファイルでしか入れられなくて後から入れたパッケージがあると再構築コマンドがエラーになるので、その時は上記の保存コマンドで生成したyamlファイルから該当パッケージの行を削除して実行する必要があります。

参考

101
85
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
101
85