Pip : impossible d'installer un paquet
Résolumamiemando Messages postés 33434 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 décembre 2024 - 12 avril 2024 à 15:55
- Pip n'est pas reconnu en tant que commande interne
- Cle usb non reconnu - Guide
- Invite de commande - Guide
- Tu dois avoir accès au live pour passer live en tant qu'invité - Forum TikTok
- Ping n'est pas reconnu en tant que commande interne ✓ - Forum Windows
- Npm n'est pas reconnu en tant que commande interne - Forum Javascript
5 réponses
16 mars 2024 à 11:20
Hey !
As-tu vu les dernières lignes de ton CMD ? (accès denied -> manque de droit & pour pip il te donne la commande pour l'upgrade).
Ainoa.
16 mars 2024 à 14:41
Bonjour
tu as vraiment besoin de Python 3.6?
On en est à 3.12, avec le pip qui va bien.
Modifié le 16 mars 2024 à 11:34
j'ai essayé de changer les permission système mais sans succès :(
j'ai une erreur similaire quand je fais pip install --upgrade pip
19 mars 2024 à 12:59
Bonjour,
Personne ne t'a demandé de modifier les permissions système, il s'agit juste de lancer ta console en tant qu'administrateur (via le clic-droit de la souris)
16 mars 2024 à 11:31
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionModifié le 12 avril 2024 à 16:11
Bonjour,
Réponse courte
La paquet pip que tu tentes de mettre à jour est déployé dans les dossiers du système (pas ton dossier utilisateur). Du coup tu ne peux pas le mettre à jour avec un profil utilisateur (qui n'a pas suffisamment de droits) : il faut le mettre à jour avec des droits administrateurs (voir #1 et #5).
Les autres approches possibles consistent à déployer pip :
- soit dans ton dossier utilisateur ;
- soit dans un environnement virtuel.
Réponse détaillée
Il faut comprendre que tu peux avoir plusieurs environnement python dans lesquels installer un paquet :
- au niveau du système (uniquement modifiable par l'administrateur)
- au niveau du dossier de l'utilisateur
- dans un environnement virtuel (j'y reviendrai plus tard).
Ces environnements ne sont pas exclusifs : un même paquet peut dans l'absolu être installé à tous ces endroits. Et pip n'échappe pas à la règle, car c'est lui même un paquet.
Toute la question maintenant, c'est où {doit être|est} installé le paquet. Si l'environnement concerné est le système, il faut des droits root. Sinon, des droits utilisateurs suffisent. Dans #3 tu essayes manifestement, avec des droits utilisateurs d'intervenir sur un paquet déployé avec des droits administrateurs. Tu as donc des droits insuffisants, d'où l'erreur.
Installer pip dans le dossier utilisateur
Comme je l'ai dit dans la section précédente, rien n'empêche d'installer pip à la fois dans les dossiers du système et dans le dossier utilisateur. Dans ce cas le pip "utilisateur" devrait prendre le pas sur le pip "administrateur". Pour s'en convaincre, il suffit de regarder ta variable d'environnement PATH. Ça peut être utile quand tu n'es pas administrateur sur ta machine, mais que tu as besoin en tant qu'utilisateur d'une autre version de pip.
Utiliser pip : en utilisateur ou administrateur ?
Quel que soit l'endroit où est installé pip, le contexte dans lequel tu appelles pip est déterminant, car il va décider sur quel environnement tu vas intervenir :
- Si tu utilises ton profil utilisateur et que tu fais un pip install (resp. pip install -U, resp. pip remove), alors tu tentes de déployer (resp. mettre à jour, resp. supprimer) le paquet dans ton dossier utilisateur ;
- Si tu utilises ton profil administrateur et que tu fais un pip install (resp. pip install -U, resp. pip remove), alors tu tentes de déployer (resp. mettre à jour, resp. supprimer) le paquet dans les dossiers du système. Et dans ce cas, seul l'administrateur pourra intervenir sur ce paquet.
Pour aller plus loin : les environnement virtuels
Les environnement virtuel (virtual environment en anglais, souvent abrégés venv) manière classique (et proposée par PyCharm) d'affranchir un projet des éventuels paquets installés dans le dossier utilisateur ou dans les dossiers du systèmes (pip compris) .
- Avantages :
- Le projet est complètement isolé, et donc insensible à ce qui se passe dans les dossiers systèmes et utilisateur (paquets installés + version).
- On s'assure qu'on a bien déterminé toutes les dépendances du projet.
- Inconvénients :
- Il faut avoir déterminé tous les dépendances du projet (dans un projet, elles sont souvent listées dans requirements.txt ou dans pyproject.toml).
- À chaque fois qu'on veut utiliser le projet, il faut activer cet environnement virtuel (à moins que les dépendances soient également déployées dans le système et/ou le dossier utilisateur).
- Même si ces dépendances sont déjà installées dans le dossier utilisateur et/ou le système, elles sont de facto réinstallé dans l'environnement virtuel, ce qui à terme consomme plus d'espace disque.
Bonne chance