既存の Conda 環境を .yml ファイルで更新する方法 質問する

既存の Conda 環境を .yml ファイルで更新する方法 質問する

既存の conda 環境を別の .yml ファイルで更新するにはどうすればよいでしょうか。これはbase.yml, local.yml, production.yml、など複数の要件ファイルを持つプロジェクトで作業する場合に非常に役立ちます。

たとえば、以下のbase.ymlファイルには conda-forge、conda、および pip パッケージが含まれています。

ベース.yml

name: myenv
channels:
  - conda-forge
dependencies:
  - django=1.10.5
  - pip:
    - django-crispy-forms==1.6.1

実際の環境は以下を使用して作成されますconda env create -f base.yml:

後で、 に追加のパッケージを追加する必要がありますbase.yml。 別のファイル ( などlocal.yml) でこれらの更新をインポートする必要があります。

これを達成するためのこれまでの試みは次のとおりです。

local.ymlインポート定義を含むファイルを作成する:

channels:

dependencies:
  - pip:
    - boto3==1.4.4
imports:
  - requirements/base. 

次に、次のコマンドを実行します: conda install -f local.yml

これは機能しません。何か考えはありますか?

ベストアンサー1

使ってみるconda 環境の更新:

conda activate myenv
conda env update --file local.yml --prune

--prunelocal.ymlで指摘されているように、から削除された依存関係をアンインストールします。この答え@Blink より。

注意:nameに環境名以外のタグがある場合local.yml、上記のコマンドはその名前で新しい環境を作成します。これを回避するには、(@NumesSanguis に感謝) を使用します。

conda env update --name myenv --file local.yml --prune

見る環境の更新Conda ユーザー ガイド。

おすすめ記事