Puis-je ajouter un canal à un environnement conda spécifique?

je veux ajouter un canal conda à un conda environnement mais quand j'utilise

conda config --add channels glotzer

ce canal est maintenant disponible dans tous mes environnements conda. En plus de tester une installation à partir d'un autre environnement, le ~/.condarc le fichier est la suivante:

channels:
  - glotzer
  - defaults

comment configurer conda pour que le canal ne soit disponible que dans un environnement spécifique?

je n'ai trouver dans le Documentation des canaux que pour conda > = 4.1.0, en plaçant des canaux au bas de la ~/.condarc empêchera les canaux ajoutés de surcharger le paquet de base.

par défaut, conda préfère désormais les paquets d'un canal de priorité supérieure à n'importe quelle version d'un canal de priorité inférieure. Par conséquent, vous pouvez maintenant mettre des chaînes au fond de votre liste des canaux pour fournir des paquets supplémentaires qui ne sont pas dans le les canaux par défaut, et encore être sûr que ces canaux ne seront pas Outrepasser le paquet de base définir.

Je m'attends à ce que cela prévienne la plupart des problèmes, sauf si dans un environnement vous voulez que le paquet soit ajouté via un canal pour outrepasser un paquet de base.

12
demandé sur Steven C. Howell 2016-11-15 20:44:35

3 réponses

Actuellement, il n'est pas possible d'ajouter un canal à un seul environnement conda. Si vous ne souhaitez pas ajouter un canal pour le mondial ~/.condarc file, vous devriez utiliser l'option pour installer un paquet à partir d'un canal spécifique:

conda install <some-package> -c glotzer
6
répondu Steven C. Howell 2017-01-23 21:36:45

à partir de la conda 4.2, spécifique à l'environnement .condarc les fichiers sont supportés et vous pouvez écrire:

conda config --env --add channels glotzer

pour ajouter le canal à la configuration de l'environnement actif.

[Pas sûr que ce soit --env le drapeau a été ajouté à la section 4.2. Réponse basée sur conda 4.5.9]

2
répondu Christopher Barber 2018-08-08 13:25:26

Vous pouvez créer un environment.yml le fichier contenant la spécification de votre conda environnement. Les documents complets sont ici, mais la configuration de base est la suivante:

name: EnvironmentName
channels:
    - conda-forge
    - glotzer
dependencies:
    - pip:
        - tensorflow
    - pandas=0.22.*

pour utiliser l'environnement, tapez

conda env create -f environment.yml
conda activate EnvironmentName

pour mettre à jour l'environnement quand environment.yml est modifié ou les paquets sont mis à jour,

conda env update -f environment.yml
conda activate EnvironmentName
1
répondu BallpointBen 2018-06-27 18:36:49