結論
大文字の部分は適宜に置き換えてください。
conda env export -n ENV_NAME > /tmp/FILE_NAME.yml; scp /tmp/FILE_NAME.yml USER@DST_IP:/tmp/; ssh USER@DST_IP conda env create -n ENV_NAME -f /tmp/FILE_NAME.yml
説明
使用中のconda仮想環境(src環境)をまるごと別の環境(dst環境)に再構築したいときのためのメモです。例えば、開発環境から本番環境に複製したいとき等です。
もちろん両方の環境とも、condaが入っていることが大前提です。
※ 注
pip 19.1.1 および conda: 4.5.4 だと、pipのパッケージがうまく出力されない問題があります。
condaを最新版にアップデートすれば解決します。
conda update -n base conda
検証環境:
pip 19.1.1
conda 4.6.14
通常手順
まずは、現在の仮想環境をファイルに出力します。(src環境)
例:HOGEという仮想環境名
conda env export -n HOGE > PATH_TO_FILE/FILE_NAME.yml
※PATH_TO_FILEがない場合は、カレントディレクトリに作成されます。FILE_NAME.ymlファイルを再構築したい環境にコピーします(手動でもscpでも可)。
src環境 → dst環境ENV_NAMEの仮想環境名で再構築する。(dst環境)
conda env create -n ENV_NAME -f PATH_TO_FILE/FILE_NAME.yml
ワンライナー手順
もっと手軽に実施したいときのメモです。
基本的には、仮想環境をファイルに吐き出し、scpで別環境にコピーし、sshでコマンドを実行するだけです。
conda env export -n ENV_NAME > /tmp/FILE_NAME.yml; scp /tmp/FILE_NAME.yml USER@DST_IP:/tmp/; ssh USER@DST_IP conda env create -n ENV_NAME -f /tmp/FILE_NAME.yml
※ 2回ユーザの認証が必要。
さらに面倒な方は、パスワードなし認証の設定を。