Maison >développement back-end >Tutoriel Python >Pourquoi « pip install » échoue-t-il avec une erreur « Autorisation refusée » et comment puis-je y remédier ?

Pourquoi « pip install » échoue-t-il avec une erreur « Autorisation refusée » et comment puis-je y remédier ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 04:43:08631parcourir

Why Does `pip install` Fail with a

L'installation de pip échoue avec une erreur d'autorisation refusée dans le répertoire

Problème :

Lors de la tentative de installez les packages Python via pip avec la commande "pip install -r Requirements.txt", les utilisateurs peuvent rencontrer ce qui suit erreur :

OSError: [Errno 13] Permission denied: '/usr/local/lib/…'

Analyse :

Cette erreur indique que pip ne dispose pas des autorisations suffisantes pour créer ou accéder à des répertoires dans le chemin spécifié. Cela peut se produire lorsque :

  • Vous n'utilisez pas sudo pour élever les privilèges de pip.
  • Vous avez restreint les autorisations de fichiers sur le répertoire cible.

Solution :

Approche 1 : installation de pip --user

Il est recommandé d'utiliser "pip install --user" au lieu de "sudo pip install" pour les installations non à l'échelle du système. Cette approche :

  • Installe les packages sous votre répertoire personnel dans "~/.local/lib/pythonX.Y/site-packages".
  • Ne nécessite pas de privilèges sudo.

Approche 2 : Ajuster les autorisations de fichiers

Si "pip install --user" échoue, vérifiez les autorisations du répertoire cible :

  • Accédez au répertoire mentionné dans l'erreur (par exemple, "/usr/local/lib/pythonX.Y/site-packages ").
  • Exécutez "sudo chmod -R 775 " pour modifier les autorisations de manière récursive.
  • Essayez à nouveau "pip install --user".

Pourquoi ne pas utiliser Sudo ?

Pendant l'utilisation sudo peut sembler une solution miracle, il est généralement déconseillé à deux raisons :

  • Risque de sécurité : L'exécution de pip avec sudo permet à du code Python arbitraire provenant d'Internet de s'exécuter en tant que root, compromettant potentiellement la sécurité de votre système.
  • Isoler les packages : L'utilisation de "pip install --user" garantit que les packages sont installés sous votre compte utilisateur, ce qui facilite la gestion de plusieurs environnements et l'isolation. dépendances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn