1. ホーム
  2. python

[解決済み] conda環境をroot環境に「クローン」する方法とは?

2022-03-02 01:27:24

質問

condaのルート環境に、別の環境のパッケージをすべてコピーしてほしいのですが。 どうすればいいのでしょうか?

どのように解決するのですか?

依存関係の名前/アール/バージョンをファイルにコピーするオプションがあります。

推薦の言葉

通常は、変更するよりも新しい環境から作業した方が安全です。 root . ただし、変更を試みる前に、既存の環境のバックアップを取ることを検討してください。デモ環境でこれらのコマンドをテストして、望ましい結果が得られるかどうかを確認します。 あなたの root envを例にして説明します。

λ conda activate root
λ conda env export > environment_root.yml
λ conda list --explicit > spec_file_root.txt

オプション

オプション1 - YAMLファイル

2つ目の環境内(例 myenv ), 輸出名 + をyamlファイルに変換します。

λ activate myenv
λ conda env export > environment.yml  

では 最初の環境を更新する + (例 root ) を yaml ファイルで指定します。

λ conda env update --name root --file environment.yml     


オプション2 - 環境のクローン化

を使用します。 --clone フラグを使用して環境のクローンを作成します (@DevC の投稿を参照)。

λ conda create --name myclone --clone root

これは基本的に、環境の直接コピーを作成するものです。


オプション3 - スペックファイル

を作る。 スペックファイル ++ を使用して、env からの依存性を追加します (@Ormetrom を参照)。

λ activate myenv
λ conda list --explicit > spec_file.txt
λ conda install --name root --file spec_file.txt

または、新しい環境をレプリケートする(推奨)。

λ conda create --name myenv2 --file spec_file.txt

こちらもご覧ください

  • conda env は、env サブコマンドの詳細についてです。
  • アナコナダナビゲーター よりグラフィカルな体験ができるデスクトッププログラム。
  • ドック を更新しました。 古いバージョンの conda では activate (Windows)と source activate (Linux/Mac OS)です。 conda の新しいバージョンでは conda activate (を使ったシェルの設定に若干の工夫が必要な場合があります)。 conda init ).
  • ディスカッション 飼い方 conda env

エクストラ

ドキュメント化されていない conda run オプションは、特定の環境でのコマンド実行を支援するものです。

# New command
λ conda run --name myenv conda list --explicit > spec_file.txt

後者のコマンドは、アクティベーション/ディアクティベーションのステップがない環境でのコマンドの実行に有効です。 以下の同等のコマンドを参照してください。

# Equivalent
λ activate myenv
λ conda list --explicit > spec_file.txt
λ deactivate

なお、これは実験的な機能である可能性が高いので、パブリックAPIに正式に採用されるまでは実運用に適さないかもしれません。

+ Condaのドキュメントが元の投稿から変更されたので、リンクを更新しました。 ++ Spec-filesは同じOSで作成された環境でのみ動作します。 最初の2つのオプションとは異なり、spec-filesはcondaの依存関係へのリンクのみを取り込み、pipの依存関係は含まれません。