Pip : impossible d'installer un paquet

Résolu
Tiwo68 Messages postés 4 Date d'inscription mardi 7 novembre 2023 Statut Membre Dernière intervention 16 mars 2024 - Modifié le 12 avril 2024 à 16:02
mamiemando Messages postés 33088 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 30 avril 2024 - 12 avril 2024 à 15:55

Bonjour,

il est impossible d'installer quelconque paquet et d'upgrade pip


Windows / Firefox 123.0

5 réponses

AinoaHelp Messages postés 13 Date d'inscription jeudi 14 mars 2024 Statut Membre Dernière intervention 23 avril 2024 3
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.


2
Whismeril Messages postés 19034 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 1 mai 2024 931
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.


1
Tiwo68 Messages postés 4 Date d'inscription mardi 7 novembre 2023 Statut Membre Dernière intervention 16 mars 2024
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

0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
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)

0
Tiwo68 Messages postés 4 Date d'inscription mardi 7 novembre 2023 Statut Membre Dernière intervention 16 mars 2024
16 mars 2024 à 11:31
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33088 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 30 avril 2024 7 751
Modifié 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

0