web-dev-qa-db-fra.com

Python Anaconda: devrais-je utiliser `conda activate` ou` source activate` sous linux

Je suis donc habitué à taper source activate <environment> lorsque vous démarrez un environnement python Anaconda. Cela fonctionne très bien. Mais lorsque je crée de nouveaux environnements Conda, je vois le message sur Ubuntu 16.04 pour démarrer les environnements avec conda activate au lieu. Outre les erreurs sur la façon de configurer mon shell pour utiliser conda activate à la place, je ne comprends toujours pas quelle est la différence entre source activate ... et conda activate ... Y a-t-il une raison de changer? Est-ce que quelqu'un sait la différence entre ces deux commandes? Merci.

29
krishnab

À partir du paragraphe 4.4, conda activate est le moyen privilégié d’activer un environnement. Généralement, vous ne trouverez pas trop de différence entre conda activate et le vieux source activate, sauf qu’il est censé être plus rapide et fonctionner de la même manière sur différents systèmes d’exploitation (cette dernière différence fait que conda activate a énorme amélioration à l’OMI).

Du docs , concernant la sortie de la version de conda 4.4.0 _ (sortie en décembre 2017):

conda activate: La logique et les mécanismes sous-jacents à l'activation de l'environnement ont été retravaillés. Avec conda 4.4, les commandes activer et désactiver sont désormais les commandes préférées pour activer et désactiver les environnements. Vous constaterez qu’elles sont beaucoup plus efficaces que la source active et que la source désactive les commandes des versions précédentes de conda. La commande conda activate présente également les avantages suivants: (1) être universel sur tous les systèmes d’exploitation, shells et plates-formes, et (2) ne pas avoir de conflits de chemins avec des scripts provenant d’autres packages tels que python, script d’activation de virtualenv.

44
sacuL

Voici une différence que j'ai trouvée. source activate peut être utilisé au début d’un script bash pour charger l’environnement conda, alors que conda activate me donnerait une erreur:

CommandNotFoundError: Your Shell has not been properly configured to use 'conda activate'.

Cela fait une énorme différence pour moi car je soumets souvent des travaux bash à un cluster et source activate est le seul moyen de changer d’environnement conda.

S'il vous plaît, corrigez-moi si quelqu'un peut utiliser conda activate dans un script bash.

1
taper