Python pip cassé après OS X 10.8 mise à niveau
Fait de 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 $ 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
Aucune idée de comment se débarrasser de l'sudo?
- Probablement juste
root
avoir un autre$PATH
. Vous avez deux copies de Python installée et que vous n'êtes pas prudent quant à la version que vous utilisez. Soit utiliser l'Apple Python (dans /System et /usr) ou celle que vous avez installé; prendre un coup d'oeil à la première ligne de scripts commepip
pour voir lequel c'est à l'aide.
Vous devez vous connecter pour publier un commentaire.
Utilisation
easy_install
de mettre à jour votrepip
à la dernière version:sudo easy_install -U pip
Aussi assurez-vous d'avoir la dernière
XCode
installé (version 4.4) avecCommand Line Tools
.Cela fonctionne pour moi
J'ai eu une erreur similaire, sauf que
sudo pip
ne fonctionne pas non plus. Je suis à l'aide d'un "brassage" de l'installation de python (qui est un lien symbolique vers /usr/local/bin) et a constaté que le problème était que la shebangs de pip et de easy_install fichiers ont été codés en dur pour#!/usr/bin/python
au lieu de#!/usr/local/bin/python
, et qu'il était donc en utilisant le système de version de python au lieu de la version brew.Cheers,
Tom
En fait je ne pouvais pas faire ce qui a été suggéré. J'ai plutôt eu à exécuter:
Ensuite, j'ai été en mesure d'installer le module ldap.
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 avoir /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 permettra de 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)
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.
Plutôt que de modifier la propriété, il est possible de simplement changer les permissions:
$ sudo chmod -R o+rX /Bibliothèque/Python/2.7/site.les paquets
Sur Mavericks, j'ai trouvé que
tandis que le programme pep a montré
J'ai renommé l'ancien
pip
et créé un lien symbolique vers le bon pip binaire, et maintenant tout va bien. Ce n'est probablement pas la meilleure solution, mais il fonctionne.J'ai fixé ce, par la réinstallation de python avec homebrew:
brew install python
J'ai changé les permissions pour Python dossier (de la racine à mon utilisateur), et maintenant, tout fonctionne pour moi:
Pas recommandé pour les machines avec plusieurs utilisateurs.
Généralement j'ai eu le même problème avec un projet de référencement
bonjour-py
dans leurrequirements.txt
, ne savaient pas où ou comment suivre qu'un seul pour le moment.Et quelqu'un m'a dit que pip-outil. C'est en fait une excellente alternative à identifier que vous avez, et si vous voulez mettre à jour. Et en bonus, il a ignoré bien le
bonjour-py
erreur.