Estoy intentando limpiar las distintas instalaciones de Python en mi MacBook Pro (macOS 10.13.4) eliminando todo excepto el sistema Python original (2.7.2 para la versión actual de macOS). He tenido instalaciones de python.org, macports y homebrew en un momento u otro, y creo que he podido eliminar todo lo que tocaron estas instalaciones, pero mi sistema Python todavía me grita cuando intento instalar un módulo.
Después de eliminar las instalaciones homebrew de python y pip, y de eliminar las carpetas antiguas de la instalación de macports, actualicé mi ~/.bash_profile para que contenga solo mi configuración .bashrc y las utilidades iTerm2. Luego instalé PIP para el sistema Python usando easy_install. Sin embargo, cuando intento instalar un paquete, por ejemplo Voltron, aparece el siguiente error y la instalación no finaliza.
matplotlib 1.3.1 requires nose, which is not installed.
python-dateutil 2.6.1 has requirement six>=1.5, but you'll have six 1.4.1 which is incompatible.
prompt-toolkit 1.0.15 has requirement six>=1.9.0, but you'll have six 1.4.1 which is incompatible.
blessed 1.14.2 has requirement six>=1.9.0, but you'll have six 1.4.1 which is incompatible.
matplotlib 1.3.1 has requirement numpy>=1.5, but you'll have numpy 1.8.0rc1 which is incompatible.
which python
devoluciones /usr/bin/python
y which pip
devoluciones/usr/local/bin/pip
Me gustaría que mi computadora vuelva al estado en que estaba cuando salió de la caja, pero no quiero borrarla y reinstalarla. Intenté usar el modo de recuperación de macOS para reinstalar macOS, pero no cambió el error, por lo que parece que hay algunas referencias persistentes a estos paquetes en alguna parte. ¿Cómo puedo restaurar el estado original de Python?
$> pip -V
pip 10.0.0b2 from /Library/Python/2.7/site-packages/pip-10.0.0b2-py2.7.egg/pip (python 2.7)
Parece que en realidad terminó instalando Voltron, pero todavía muestra un error por las dependencias que faltan. Esto es lo que sucede cuando intento instalar uno de ellos (seis, en este caso)
$> pip install --user six
Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (1.4.1)
python-dateutil 2.6.1 has requirement six>=1.5, but you'll have six 1.4.1 which is incompatible.
prompt-toolkit 1.0.15 has requirement six>=1.9.0, but you'll have six 1.4.1 which is incompatible.
blessed 1.14.2 has requirement six>=1.9.0, but you'll have six 1.4.1 which is incompatible.
matplotlib 1.3.1 has requirement numpy>=1.5, but you'll have numpy 1.8.0rc1 which is incompatible.
Actualización: valor de sys.path
$> python -c "import os, sys; print(os.linesep.join(sys.path))"
/Library/Python/2.7/site-packages/pip-10.0.0b2-py2.7.egg
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/Users/emroch/Library/Python/2.7/lib/python/site-packages
/Library/Python/2.7/site-packages
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC
Respuesta1
Estaba teniendo un problema similar al instalar paquetes con PIP y parece que la causa del problema es esta https://github.com/pypa/pip/issues/5196
Pude solucionar el problema siguiendo lo que aquí se propone. https://stackoverflow.com/questions/27630114/matplotlib-issue-on-os-x-importerror-cannot-import-name-thread
sudo pip uninstall python-dateutil
sudo pip install python-dateutil==2.2
de @oriol-nieto respuesta
Python estaba usando una versión antigua de seis, que eliminé escribiendo:
rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.*