Comment mettre à jour un environnement Conda existant avec A. fichier yml

cela a été demandé ici mais n'a jamais répondu.

comment un environnement conda préexistant peut-il être mis à jour avec un autre?fichier yml. Ceci est extrêmement utile lorsque vous travaillez sur des projets qui ont plusieurs fichiers d'exigences, c.-à-d. base.yml, local.yml, production.yml, etc.

Par exemple, ci-dessous est un base.yml le fichier a conda-forge, conda, et pip paquets:

de base.yml

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

L'environnement réel est créé avec: conda env create -f base.yml.

plus Tard sur, des paquets supplémentaires doivent être ajoutés à base.yml. Un autre fichier, dites local.yml, doit importer ces mises à jour.

les tentatives précédentes pour accomplir ceci incluent:

création d'un local.yml le fichier avec une importation définition:

channels:

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

et ensuite exécuter la commande: conda install -f local.yml.

Cela ne fonctionne pas. Toutes les pensées?

17
demandé sur justinnoor.io 2017-02-20 22:32:11

2 réponses

Essayez d'utiliser conda env mise à jour:

source activate myenv
conda env update -f=local.yml
26
répondu alkamid 2017-05-09 15:26:12

la réponse d'alkamid est sur les bonnes lignes, mais J'ai trouvé que Conda n'installe pas de nouvelles dépendances si l'environnement est déjà actif. Désactiver l'environnement résout d'abord ceci:

source deactivate;
conda env update -f whatever.yml;
source activate my_environment_name; # Must be AFTER the conda env update line!
5
répondu Dave 2017-09-08 10:23:47