既存の 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
--prune
local.yml
で指摘されているように、から削除された依存関係をアンインストールします。この答え@Blink より。
注意:name
に環境名以外のタグがある場合local.yml
、上記のコマンドはその名前で新しい環境を作成します。これを回避するには、(@NumesSanguis に感謝) を使用します。
conda env update --name myenv --file local.yml --prune
見る環境の更新Conda ユーザー ガイド。