["python","django","anaconda","conda"]
How to update an existing Conda environment with a .yml file

How can a pre-existing conda environment be updated with another .yml file. This is extremely helpful when working on projects that have multiple requirement files, i.e. base.yml, local.yml, production.yml, etc. For example, below is a base.yml file has conda-forge, conda, and pip packages: base.yml name: myenv channels: - conda-forge dependencies: - django=1.10.5 - pip: - django-crispy-forms==1.6.1 The actual environment is created with: conda env create -f base.yml. Later on, additional packages need to be added to base.yml. Another file, say local.yml, needs to import those updates. Previous attempts to accomplish this include: creating a local.yml file with an import definition: channels: dependencies: - pip: - boto3==1.4.4 imports: - requirements/base. And then run the command: conda install -f local.yml. This does not work. Any thoughts?
Try using conda env update: conda activate myenv conda env update --file local.yml --prune --prune uninstalls dependencies which were removed from local.yml, as pointed out in this answer by @Blink. Attention: if there is a name tag with a name other than that of your environment in local.yml, the command above will create a new environment with that name. To avoid this, use (thanks @NumesSanguis): conda env update --name myenv --file local.yml --prune See Updating an environment in Conda User Guide.