1. ホーム
  2. パイソン

[解決済み】既存のConda環境を.ymlファイルで更新する方法

2022-04-02 23:35:37

質問

既存の 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 .

これはうまくいきません。何か考えがありますか?

解決方法は?

を使ってみてください。 conda env update :

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

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

あるいは、環境を起動する必要がない(@NumesSanguisさんありがとうございます)。

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

参照 環境の更新 をCondaユーザーガイドに追加しました。