[python] .yml 파일로 기존 Conda 환경을 업데이트하는 방법
기존 conda 환경을 다른 .yml 파일로 어떻게 업데이트 할 수 있습니까? 이것은 여러 요구 사항 파일이있는 프로젝트에서 작업 할 때 매우 유용합니다 base.yml, local.yml, production.yml
.
예를 들어, 다음은 base.yml
conda-forge, conda 및 pip 패키지 가있는 파일입니다.
base.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
또는 환경을 활성화 할 필요없이 (@NumesSanguis에게 감사드립니다) :
conda env update --name myenv --file local.yml
답변
제안 된 답변은 부분적으로 정확합니다. environment.yml에서 제거 된 패키지도 제거 하려면 –prune 옵션 을 추가해야 합니다. 올바른 명령 :
conda env update -f local.yml --prune
답변
alkamid의 대답은 올바른 줄에 있지만 환경이 이미 활성화되어 있으면 Conda가 새 종속성을 설치하지 못하는 것으로 나타났습니다. 환경을 비활성화하면 먼저 다음이 해결됩니다.
source deactivate;
conda env update -f whatever.yml;
source activate my_environment_name; # Must be AFTER the conda env update line!