Python: This environment is externally managed
Résolumamiemando Messages postés 33432 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 - 3 oct. 2024 à 13:58
- This environment is externally managed
- Citizen code python avis - Accueil - Outils
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Trouver la position d'un élément dans une liste python ✓ - Forum Python
- Extraire données fichier texte python ✓ - Forum Python
1 réponse
Modifié le 3 oct. 2024 à 14:02
Bonjour,
Je détaille ci-dessous la démarche générale. Si tu rencontres des difficultés, indique dans ton message :
- quel paquet python tentes-tu d'installer ;
- s'il être installé pour ton utilisateur courant ou tous les utilisateurs ;
- les éventuels messages d'erreurs rencontrés
Choix du gestionnaire de paquets
Supposons que ce soit numpy. Sous Linux, tu as deux manières de l'installer :
- soit via le gestionnaire de paquets Linux (APT) : l'installation se fait pour l'ensemble des utilisateurs.
- soit via le gestionnaire de paquets python (PIP) : l'installation se fait généralement plutôt pour un seul utilisateur, et peut potentiellement se faire pour tous les utilisateurs.
Sous Windows, tu n'aurais pas le choix, tu devrais passer par pip.
Il n'y a pas vraiment de meilleure manière de procéder (entre APT et PIP), ça dépend des goûts, et tu peux d'ailleurs panacher (par exemple installer autant que possible avec APT, et sinon avec PIP).
- Si tu installes un paquet python avec APT : tous les utilisateurs ont accès au paquet, et il est cohérent et mis à jour avec le reste du système. Le paquet est installé une et une seule fois, et APT gère très bien les dépendances. Cependant, on ne trouve pas toujours tous les paquets python dans APT, et pas toujours dans leur version la plus récente.
- Si tu installes avec paquet python avec PIP : comme l'installation se fait plutôt par utilisateur, il faut la faire pour chaque utilisateur (ce qui consomme plus de place). L'avantage c'est que tu es sûr.e de trouver le paquet mais PIP ne gère pas les dépendances aussi bien qu'APT.
- Si tu installes un paquet avec APT et PIP : python3 choisira en priorité le paquet installé via pip, comme le montrerait ce script python :
#!/usr/bin/env python3 import sys print(sys.path)
Installation via APT
1) Pour installer un paquet via APT, il faut commencer par indexer la liste des mises à jour disponibles :
sudo apt update
2) Ensuite, il trouver le nom du paquet APT (avec apt search) correspondant au module python que tu souhaites installer, puis installer le paquet APT ainsi trouvé (avec apt install).
- Tous les paquets python que tu peux être amené.e à installer sont préfixés par "python3-".
- Il ne faut pas considérer les paquets préfixés par "python-" (qui correspondent en réalité à python2, qui est obsolète).
Dans mon exemple, le paquet correspondant à numpy python3-numpy. De manière générale :
apt search numpy sudo apt install python3-numpy
Installation via PIP
1) Si ça n'est pas déjà fait, on installe PIP :
sudo apt update sudo apt install python3-pip
Une fois ce paquet APT installé, la commande pip3 est désormais disponible.
Remarque : tu verras souvent sur Internet des commandes "pip install ...". Tu dois utiliser "pip3 install" car sous Linux "pip install" concerne python2 (à moins de configurer un alias).
2) Ensuite, on cherche le nom sur pypi. Dans mon exemple, le paquet s'appelle numpy. La commande PIP est donc :
pip3 install numpy
Remarques
Dans le cas général, le nom du paquet APT, du paquet PIP, et du module python que tu importes dans le code peuvent différer. Un exemple emblématique est scikit-learn :
- Nom PIP : scikit-learn :
pip3 install scikit-learn
- Nom APT : python3-sklearn :
sudo apt install python3-sklearn
- Nom du module python : sklearn :
#!/usr/bin/env python3 import sklearn
Bonne chance