Comment faire fonctionner Anaconda côte à côte avec d'autres pythons

La distribution Anaconda de Python regroupe un grand nombre de bibliothèques et d'outils pour la science des données et le calcul scientifique sous un même toit. Son attrait va cependant au-delà du calcul scientifique des nombres. Anaconda est également utile en tant que distribution Python à usage général.

Mais Anaconda a son lot de collets et de subtilités. Que faire si vous utilisez Anaconda avec d'autres distributions Python et que vous ne voulez pas qu'elles se marchent sur les pieds? Comment intégrez-vous efficacement Anaconda avec vos autres outils Python, comme les IDE? Et si vous décidez que vous souhaitez simplement utiliser Python ordinaire, comment supprimer Anaconda sans rien casser d'autre?

Dans cet article, nous verrons comment configurer et travailler avec Anaconda aux côtés des versions conventionnelles de Python sur le même système. Cet article suppose que vous avez déjà installé une version de Python et que vous avez une connaissance de base de Python avant de commencer. Notez également que la plupart des conseils ici concernent l'exécution d'Anaconda sur Microsoft Windows.

Configurer Anaconda avec d'autres pythons

Lorsque vous exécutez le programme d'installation d'Anaconda, vous ne serez pas accueilli avec un grand nombre d'options. Mais les quelques options qui vous sont présentées font toute la différence pour faire coexister Anaconda avec d'autres installations Python.

La première option à changer est dans le menu «Sélectionner le type d'installation», où vous choisissez entre l'installation d'Anaconda pour Just Me ou All Users. Si vous utilisez un ordinateur sur lequel vous disposez de privilèges d'administrateur, choisir Tous les utilisateurs vous facilite grandement la vie, alors sélectionnez cette option si vous le pouvez. Si vous choisissez Just Me, le choix par défaut est un sous-répertoire dans votre profil utilisateur, qui peut être un peu plus difficile à trouver par défaut, mais qui reste accessible tant que vous connaissez le chemin.

Sur la page de menu suivante, vous aurez la possibilité de changer le répertoire où Anaconda est installé. Pour rendre Anaconda facilement accessible, placez-le dans un répertoire (où vous avez des autorisations d'écriture) aussi haut que possible sur le lecteur. Par exemple, sur mon système, j'ai le  D: lecteur réservé aux applications, donc je l'utilise  D:\Anaconda3 comme répertoire d'installation d'Anaconda. Vous ne pourrez peut-être pas utiliser un répertoire à la racine d'un lecteur si vous installez en tant que Just Me, mais plus le chemin vers Anaconda est simple, mieux c'est.

Voici la principale raison pour laquelle vous voudrez un chemin facilement accessible: lorsque vous configurez Anaconda pour qu'il coexiste discrètement avec d'autres installations Python, vous devrez peut-être spécifier manuellement le chemin de l'interpréteur Anaconda, car il peut ne pas toujours être détecté automatiquement , et parce que (de par sa conception) il ne sera pas dans votre système  PATH. Plus il est facile à trouver, moins il y a de maux de tête par la suite.

Sur l'écran d'installation suivant, deux options vous seront proposées: «Ajouter Anaconda3 à la PATH variable d'environnement système  » et «Enregistrer Anaconda3 en tant que système Python 3.7.» Décochez les  deux  options. Le premier empêche les installations Python existantes de voir leurs  PATH références court-circuitées par Anaconda. Le second garde votre installation Python existante enregistrée comme interpréteur par défaut dans le registre Windows.

Terminez le reste de l'installation normalement.

Utilisation des environnements virtuels Anaconda dans une ligne de commande

Une fois la configuration d'Anaconda terminée, vous devrez configurer l'accès en ligne de commande à vos environnements Anaconda. Cela peut être délicat à cause du fonctionnement du système d'environnement d'Anaconda: pour qu'Anaconda fonctionne correctement, il doit activer au moins un environnement, tel que l'  base environnement. Le simple lancement de l' python exécutable d'Anaconda  ne fait pas cela.

Anaconda fournit des raccourcis pour lancer des sessions shell avec l'  base environnement activé. Par exemple, sous Windows, un raccourci Anaconda PowerShell Prompt apparaît dans le menu Démarrer après l'installation d'Anaconda. Cliquez sur ce raccourci et vous lancerez une session PowerShell avec l'  base environnement activé.

Que faire si vous ne souhaitez pas utiliser le raccourci, mais souhaitez simplement déclencher l'activation dans n'importe quelle instance PowerShell dans laquelle vous vous trouvez? C'est plus compliqué, car vous devez exécuter la même routine d'activation que celle utilisée dans le raccourci.

Vous pouvez le faire au moyen d'un  .ps1 script avec la ligne suivante (en supposant qu'Anaconda est dans  D:\Anaconda3):

& 'D: \ Anaconda3 \ shell \ condabin \ conda-hook.ps1'; conda activer 'D: \ Anaconda3'

Placez ce script quelque part dans votre  PATH, et vous pourrez activer Anaconda manuellement à partir de n'importe quelle session PowerShell.

Utilisation des environnements virtuels Anaconda dans les outils de développement

Aujourd'hui, la plupart des IDE prenant en charge Python sont suffisamment intelligents pour reconnaître la présence d'une installation Anaconda et de tout environnement virtuel installé. Par exemple, le plug-in Python de Visual Studio Code le fera, même si le système  PATH n'est pas configuré pour pointer vers Anaconda.

Maintenant les mauvaises nouvelles. Certains IDE, y compris Visual Studio Code, ne s'intègrent pas de manière élégante avec le système d'activation d'environnement d'Anaconda. Par conséquent, si vous avez sélectionné PowerShell comme hôte de shell de terminal intégré, l'EDI ne peut pas activer un environnement Anaconda lorsque vous ouvrez le terminal intégré.

Heureusement, il existe une solution de contournement pour VS Code. Modifiez le  .vscode/settings.json fichier de votre projet et ajoutez le paramètre suivant:

"terminal.integrated.shellArgs.windows": "-ExecutionPolicy ByPass -NoExit -Command \" & 'D: \\ Anaconda3 \\ shell \\ condabin \\ conda-hook.ps1'; conda activer 'D: \\ Anaconda3' \ ""

Notez que si votre chemin vers Anaconda est différent, vous devrez modifier la ligne ci-dessus en conséquence; n'oubliez pas d'échapper les contre-obliques pour les chemins Windows comme ci-dessus.

Désormais, lorsque vous ouvrez le terminal intégré, les premières commandes qui lui sont transmises seront le script d'activation de l'environnement Anaconda. Vous pouvez le modifier davantage pour activer un environnement virtuel spécifique au projet si nécessaire.

Suppression d'Anaconda

Si vous n'avez pas défini Anaconda comme installation Python par défaut, la désinstallation d'Anaconda à l'aide de son programme de désinstallation intégré ne devrait pas causer de problèmes. Les autres installations Python doivent rester intactes et doivent toujours fonctionner.

Si vous avez autorisé Anaconda à modifier votre  PATH, parcourez à la fois votre profil utilisateur  PATH et  votre système  PATH et supprimez toutes les entrées liées à Anaconda.

Enfin, il est toujours préférable de supprimer Anaconda après avoir effectué un redémarrage complet, ou au moins une déconnexion / connexion, pour s'assurer qu'aucune instance d'Anaconda n'est en cours d'exécution. Assurez-vous également que vous n'avez rien lancé automatiquement dans votre profil utilisateur, comme une tâche d'arrière-plan, qui exécute Anaconda. Sinon, le processus de suppression peut hésiter.

Comment faire plus avec Python

  • Comment utiliser les classes de données Python
  • Démarrez avec async en Python
  • Comment utiliser asyncio en Python
  • 3 étapes pour une refonte asynchrone Python
  • Comment utiliser PyInstaller pour créer des exécutables Python
  • Tutoriel Cython: Comment accélérer Python
  • Comment installer Python de manière intelligente
  • Comment gérer des projets Python avec Poetry
  • Comment gérer des projets Python avec Pipenv
  • Virtualenv et venv: les environnements virtuels Python expliqués
  • Python Virtualenv et Venv à faire et à ne pas faire
  • Explication des threads et sous-processus Python
  • Comment utiliser le débogueur Python
  • Comment utiliser timeit pour profiler le code Python
  • Comment utiliser cProfile pour profiler le code Python
  • Comment convertir Python en JavaScript (et inversement)