Effectuez la mise à niveau vers Mac OS X 10.8 (Mountain Lion) et obtenez maintenant l'erreur suivante 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: J'ai essayé de réinstaller en recommençant la procédure d'installation (avec http://www.pip-installer.org/en/latest/installing.html#using-the-installer et easy_install
), mais n'a pas fonctionné, a obtenu la même erreur.
J'ai essayé maintenant ce qui suit: Appeler $ Sudo pip
et l'erreur ci-dessus disparaît. Il est étrange que les répertoires qui n'ont pas pu être trouvés dans le message d'erreur ci-dessus pointent vers/System/Library/... tandis que l'installation python est (nouvelle?) À trouver dans/Library/Frameworks/..:
$ which python
/Library/Frameworks/Python.framework/Versions/Current/bin/python
Une idée de comment vous débarrasser du sudo?
Utilisation easy_install
pour mettre à jour votre pip
vers la dernière version:
Sudo easy_install -U pip
Assurez-vous également que le dernier XCode
est installé (ver 4.4) avec Command Line Tools
.
Ça marche pour moi
rm -f /usr/local/bin/easy_install
brew reinstall python
pip install --upgrade setuptools
pip install --upgrade pip
J'ai eu une erreur similaire, sauf que Sudo pip
n'a pas fonctionné non plus. J'utilise une installation "brew" de python (qui est liée à/usr/local/bin) et j'ai constaté que le problème était que les shebangs dans les fichiers pip et easy_install étaient codés en dur sur #!/usr/bin/python
au lieu de #!/usr/local/bin/python
, tout comme le système python au lieu de la version brew).
À la vôtre, Tom
En fait, je ne pouvais pas faire ce qui avait été suggéré. Au lieu de cela, j'ai dû exécuter:
xcode-select --install
Ensuite, j'ai pu installer le module LDAP.
J'ai essayé toutes les réponses ici, de réinstaller easy_install pour installer une nouvelle version python, rien n'a fonctionné pour moi.
Ce que j'ai fait, c'est installer une nouvelle installation de Python dans le dossier/Library/Frameworks et un lien symbolique vers celui-ci depuis/usr/local/bin (pour une raison quelconque, mon système avait un lien symbolique depuis/Library/Frameworks /Python.framework vers /System/Frameworks/Python.framework). Mon idée était de conserver les fichiers/System/Library/Frameworks à utiliser par les commandes système dans/usr/bin, et d'avoir des points/usr/local/bin vers une autre installation "user land" dans/Library/Frameworks. Pour pouvoir faire ça :
renommer /System/Library/Framework/Python.framework en _OLD_Python.framework
supprimez tous les fichiers python dans/usr/local/bin (en utilisant Sudo rm/usr/local/bin/python *) et/usr/local/bin/pip * (mais ne touchez PAS/usr/bin )
Réinstallez python à partir du site officiel ( http://www.python.org/getit/ ) ==> Cela réinstallera python dans/Library/Framework et non/System/Library/Framework
Ensuite, lancez la commande Applications/Python/Update Shell Profile.command qui s'assurera que votre chemin utilise celui-là
Recréez ensuite 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.framework en Python.framework (car c'est le chemin d'accès/usr/bin/python vers)
Taper "quel python" doit pointer vers/Library/... et non/System/Library. De là, vous devriez pouvoir réinstaller easy_install et piper correctement.
Sur Mavericks, j'ai trouvé que
ls -l `which python`
/usr/local/bin/python -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python
tandis que pip a montré
ls -l `which pip`
/usr/local/bin/pip
J'ai renommé l'ancien pip
et créé un lien symbolique vers le binaire pip approprié, et maintenant tout va bien. Ce n'est probablement pas la meilleure solution, mais cela fonctionne.
J'ai résolu ce problème en réinstallant python avec homebrew: brew install python
Plutôt que de changer de propriétaire, il est possible de simplement changer les autorisations:
$ Sudo chmod -R o + rX /Library/Python/2.7/site.packages
J'ai généralement eu le même problème avec certains projets référençant bonjour-py
dans leurs requirements.txt
, je ne savais pas lequel ni comment le suivre pour le moment.
Et quelqu'un m'a dit que pip-tool. C'est en fait une excellente alternative pour identifier ce que vous avez et si vous souhaitez les mettre à jour. Et en prime, il a bien ignoré le bonjour-py
Erreur.
J'ai changé les autorisations pour Python (de la racine à mon utilisateur), et maintenant tout fonctionne pour moi:
Sudo chown -R <your_user>:wheel /Library/Python/2.7/site-packages/
Non recommandé pour les machines avec plusieurs utilisateurs.