69 votes

Le pip Python cassé après la mise à niveau d'OS X 10.8

Faites la mise à niveau vers Mac OS X 10.8 (Mountain Lion) et désormais le message d'erreur suivant lorsque vous essayez d'appeler $ pip:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
    working_set.require(__requires__)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: pip==1.1

Mise à jour: Essayé de réinstaller en faisant la procédure d'installation de nouveau (avec http://www.pip-installer.org/en/latest/installing.html#using-the-installer et easy_install), mais ne fonctionne pas, eu la même erreur.

Essayé maintenant la suivante: Appel d' $ sudo pip et l'erreur ci-dessus disparaît. Étrange, c'est que les répertoires qui ne pouvait pas befound dans le message d'erreur ci-dessus pointer vers /System/Library/... alors que l'installation de python est (de nouveau ?) à trouver dans /Library/Frameworks/..:

$ which python
/Library/Frameworks/Python.framework/Versions/Current/bin/python

Une idée de comment se débarrasser de l'sudo?

132voto

clwen Points 2715

Utilisez easy_install pour mettre à jour votre pip vers la dernière version:

sudo easy_install -U pip

Assurez-vous également que les derniers XCode installés (version 4.4) avec Command Line Tools .

5voto

Tom Close Points 59

J'ai eu une erreur similaire sauf que sudo pip ne fonctionnait pas non plus. J'utilise une installation "brassée" de python (qui est liée symboliquement à / usr / local / bin) et j'ai constaté que le problème était que les shebangs des fichiers pip et easy_install étaient codés en dur en #!/usr/bin/python au lieu de #!/usr/local/bin/python , et utilisait donc la version système python à la place de la version brassée.

Cordialement, Tom

3voto

supreme Pooba Points 36

En fait, je ne pouvais pas faire ce qui était suggéré. Je devais plutôt exécuter:

 xcode-select --install
 

Ensuite, j'ai pu installer le module LDAP.

2voto

Ben G Points 2106

J'ai essayé toutes les réponses ici, à partir de réinstaller easy_install pour installer une nouvelle version de python, rien n'a fonctionné pour moi.

Ce que j'ai fait a été d'installer une nouvelle Python installer dans le dossier /Library/Frameworks, et un lien symbolique pour que un à partir de /usr/local/bin (pour une raison quelconque, mon système avait un lien symbolique de /Library/Frameworks/Python.cadre /System/Frameworks/Python.cadre). Mon idée était de garder le /System/Library/Frameworks fichiers à être utilisé par les commandes du système dans /usr/bin et /usr/local/bin points à un autre "espace utilisateur" s'installer dans /Library/Frameworks. Pour ce faire :

  • renommer /Système/Bibliothèque/Cadre/Python.cadre en _OLD_Python.cadre

  • supprimer tous les fichier python dans le répertoire /usr/local/bin (à l'aide de sudo rm /usr/local/bin/python*) et /usr/local/bin/pip* (mais ne touchez PAS /usr/bin)

  • Réinstaller python à partir du site officiel (http://www.python.org/getit/) ==> Cela va réinstaller python dans /Bibliothèque/Cadre et non dans /Système/Bibliothèque/Cadre

  • Puis lancer les Applications/Python/mise à Jour de Profil exchange management Shell.commande la commande sera assurez-vous que votre chemin est l'aide que l'on

  • Puis recréer les liens symboliques dans /usr/local/bin en utilisant

    ln -s ../../Library/Frameworks/Python.framework/Versions/2.7/bin/python python

  • Enfin, renommez le _OLD_Python.cadre arrière de Python.cadre (parce que c'est le chemin /usr/bin/python points)

En tapant "qui python" doit pointer vers /Library/... et non dans /Système/Bibliothèque. De là, vous devriez être en mesure de réinstaller easy_install et pip correctement.

1voto

Eric Mercer Points 11

Plutôt que de changer de propriétaire, il est possible de changer simplement les autorisations:

$ sudo chmod -R o + rX / Bibliothèque / Python/2.7/site.packages

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X