picture - Pip de Python roto después de la actualización de OS X 10.8
update python mac (10)
Realizó la actualización a Mac OS X 10.8 (Mountain Lion) y ahora obtiene el siguiente error al intentar llamar a $ 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
Actualización: easy_install
volver a instalar haciendo el procedimiento de instalación nuevamente (con http://www.pip-installer.org/en/latest/installing.html#using-the-installer y easy_install
), pero no funcionó, obtuve el mismo error.
Intenté lo siguiente: Llamando $ sudo pip
y el error anterior desaparece. Extraño es que los directorios que no pudieron encontrarse en el mensaje de error anterior apuntan a / System / Library / ... mientras que la instalación de python es (¿nueva?) Para encontrarla en / Library / Frameworks / ..:
$ which python
/Library/Frameworks/Python.framework/Versions/Current/bin/python
¿Alguna idea de cómo deshacerse del sudo?
Cambié los permisos para la carpeta de Python (de la raíz a mi usuario), y ahora todo funciona para mí:
sudo chown -R <your_user>:wheel /Library/Python/2.7/site-packages/
No recomendado para máquinas con múltiples usuarios.
De hecho, no pude hacer lo que se sugirió. En cambio, tuve que ejecutar:
xcode-select --install
Luego pude instalar el módulo ldap.
En Mavericks, encontré que
ls -l `which python`
/usr/local/bin/python -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python
mientras que pip mostró
ls -l `which pip`
/usr/local/bin/pip
Cambié el nombre de la antigua pip
y creé un enlace simbólico al pip binario adecuado, y ahora todo está bien. Probablemente no sea la mejor solución, pero funciona.
En lugar de cambiar la propiedad, es posible simplemente cambiar los permisos:
$ sudo chmod -R o + rX /Library/Python/2.7/site.packages
Esto funciona para mí
rm -f /usr/local/bin/easy_install
brew reinstall python
pip install --upgrade setuptools
pip install --upgrade pip
Intenté todas las respuestas aquí, desde reinstalar easy_install para instalar una nueva versión de Python, nada funcionó para mí.
Lo que hice fue instalar una nueva instalación de Python en la carpeta / Library / Frameworks, y enlazarla simbólicamente a la de / usr / local / bin (por alguna razón, mi sistema tenía un enlace simbólico desde /Library/Frameworks/Python.framework a / Sistema / Frameworks / Python.framework). Mi idea era mantener los archivos / System / Library / Frameworks a ser utilizados por los comandos del sistema en / usr / bin, y tener / usr / local / bin points en otra instalación de "usuario final" en / Library / Frameworks. Para hacer eso :
cambie el nombre de /System/Library/Framework/Python.framework en _OLD_Python.framework
borre todos los archivos python en / usr / local / bin (usando sudo rm / usr / local / bin / python *) y / usr / local / bin / pip * (pero NO toque / usr / bin)
Reinstale Python desde el sitio oficial ( http://www.python.org/getit/ ) ==> Esto reinstalará python en / Library / Framework y no / System / Library / Framework
A continuación, ejecute el comando Applications / Python / Update Shell Profile.command que se asegurará de que su ruta esté usando ese
A continuación, vuelva a crear los enlaces simbólicos en / usr / local / bin usando
En -s ../../Library/Frameworks/Python.framework/Versions/2.7/bin/python python
Finalmente, cambie el nombre de _OLD_Python.framework a Python.framework (porque esa es la ruta / usr / bin / python apunta a)
Escribir "which python" debe apuntar a / Library / ... y no / System / Library. Desde allí, debería poder reinstalar easy_install y pip correctamente.
Lo arreglé reinstalando python con homebrew: brew install python
Por lo general, tenía el mismo problema con algún proyecto que hacía referencia a bonjour-py
en sus requirements.txt
, no sabía cuál o cómo seguirlo en este momento.
Y alguien me dijo esa pip-tool . En realidad, es una gran alternativa para identificar cuál tienes y si deseas actualizarlos. Y como extra, ignoró bien el error bonjour-py
.
Tuve un error similar, excepto que sudo pip
tampoco funcionó. Estoy usando una instalación "brew" de python (que está enlazada a / usr / local / bin) y encontré que el problema era que los shebangs en los archivos pip y easy_install estaban codificados en #!/usr/bin/python
lugar de #!/usr/local/bin/python
, y también estaba usando la versión del sistema python en lugar de la versión brew.
Saludos, Tom
Use easy_install
para actualizar su pip
a la última versión:
sudo easy_install -U pip
También asegúrese de tener instalado el último XCode
(ver 4.4) con las Command Line Tools
.