LoginSignup
0
0

More than 3 years have passed since last update.

ワンライナーでcondaの仮想環境を別環境に再構築する方法

Posted at

結論

大文字の部分は適宜に置き換えてください。

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

通常手順

  1. まずは、現在の仮想環境をファイルに出力します。(src環境)
     例:HOGEという仮想環境名
    conda env export -n HOGE > PATH_TO_FILE/FILE_NAME.yml
     ※PATH_TO_FILEがない場合は、カレントディレクトリに作成されます。

  2. FILE_NAME.ymlファイルを再構築したい環境にコピーします(手動でもscpでも可)。
     src環境 → dst環境

  3. 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回ユーザの認証が必要。
 さらに面倒な方は、パスワードなし認証の設定を。

0
0
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
0
0