Python >> Tutoriel Python >  >> Python Tag >> Linux

Python Anaconda:dois-je utiliser `conda activate` ou `source activate` sous Linux

À partir de conda 4.4, conda activate est la meilleure façon d'activer un environnement. Généralement, vous ne trouverez pas trop de différence entre conda activate et l'ancien 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 conda activate un énorme amélioration OMI).

À partir de la documentation, concernant la publication de la version conda 4.4.0 (publié 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, conda activate et conda deactivate sont désormais les commandes préférées pour activer et désactiver les environnements. Vous constaterez qu'ils sont beaucoup plus rapides que les commandes d'activation et de désactivation de la source des versions précédentes de Conda. La commande conda activate a également l'avantage (1) d'être universelle sur tous les systèmes d'exploitation, shells et plates-formes, et (2) de ne pas avoir de collisions de chemin avec des scripts d'autres packages comme le script activate de python virtualenv.


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 puisque je soumets souvent des travaux bash au cluster et source activate est le seul moyen de changer l'environnement conda.

Veuillez me corriger si quelqu'un peut utiliser conda activate dans un script bash.