pip se rompió. ¿Cómo corregir un error de DistributionNotFound?

Cada vez que trato de usar pip me sale un error. Por ejemplo:

$ sudo pip install gevent-websocket Traceback (most recent call last): File "/usr/local/bin/pip", line 5, in  from pkg_resources import load_entry_point File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2675, in  parse_requirements(__requires__), Environment() File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 552, in resolve raise DistributionNotFound(req) pkg_resources.DistributionNotFound: pip==0.8.1 

Me siento tentado a cambiar el valor de en pip == 0.8.2 .. pero no me siento con las consecuencias de ‘hackear’ mi instalación … Estoy ejecutando python 2.7 y pip está en la versión 0.8.2.

Encuentro este problema en mi MacBook, la razón es porque como dijo @Stephan, uso easy_install para instalar pip, y la combinación de ambas herramientas de administración de paquetes py condujo al problema pkg_resources.DistributionNotFound . La resolución es:

 easy_install --upgrade pip 

Recuerde: solo use una de las herramientas anteriores para administrar sus paquetes de Py.

Reemplacé 0.8.1 en 0.8.2 en / usr / local / bin / pip y todo funcionó de nuevo.

 __requires__ = 'pip==0.8.2' import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point('pip==0.8.2', 'console_scripts', 'pip')() ) 

Instalé pip a través de easy_install que probablemente me causó este dolor de cabeza. Creo que así es como deberías hacerlo hoy en día ..

 $ sudo apt-get install python-pip python-dev build-essential $ sudo pip install --upgrade pip $ sudo pip install --upgrade virtualenv 

Tuve este problema cuando estaba usando Homebrew. Aquí está la solución del número 26900

 python -m pip install --upgrade --force pip 

Intente volver a instalar con el script get-pip:

 wget https://bootstrap.pypa.io/get-pip.py sudo python3 get-pip.py 

Esto proviene de la página de pip Github y funcionó para mí.

Si está en CentOS, asegúrese de tener instalado el paquete YUM “python-setuptools”

 yum install python-setuptools 

Lo arreglé para mí.

La raíz del problema a menudo son scripts desactualizados en el subdirectorio bin (Linux) o Scripts (Windows). Explicaré esto usando el problema que me encontré a mí mismo como ejemplo.

Tenía la versión 1.10 de virtualenv instalada en mis paquetes de sitio de usuario (el hecho de que esté en los paquetes de sitio de usuario no en los paquetes de sitio de sistema es irrelevante aquí)

 pdobrogost@host:~$ which virtualenv /home/users/pdobrogost/.local/bin/virtualenv pdobrogost@host:~$ virtualenv --version 1.10 

Después de actualizarlo a la versión 1.11, recibí el siguiente error:

 pdobrogost@host:~$ virtualenv --version Traceback (most recent call last): File "/home/users/pdobrogost/.local/bin/virtualenv", line 5, in  from pkg_resources import load_entry_point File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2701, in  return self.__dep_map File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 572, in resolve if insert: pkg_resources.DistributionNotFound: virtualenv==1.10 

El archivo /home/users/pdobrogost/.local/bin/virtualenv mencionado en el mensaje de error tenía este aspecto:

 #!/opt/python/2.7.5/bin/python2.7 # EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10','console_scripts','virtualenv' __requires__ = 'virtualenv==1.10' import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point('virtualenv==1.10', 'console_scripts', 'virtualenv')() ) 

Allí, vemos que el script virtualenv no se actualizó y aún requiere la versión 1.10 previamente instalada de virtualenv.
Ahora, reinstalando virtualenv como este

 pdobrogost@host:~$ pip install --user --upgrade virtualenv Downloading/unpacking virtualenv from https://pypi.python.org/packages/py27/v/virtualenv/virtualenv-1.11.1-py27-none-any.whl#md5=265770b61de41d34d2e9fdfddcdf034c Using download cache from /home/users/pdobrogost/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fpy27%2Fv%2Fvirtualenv%2Fvirtualenv-1.11.1-py27-none-any.whl Installing collected packages: virtualenv Successfully installed virtualenv Cleaning up... 

no ayuda (ni pip install --user --upgrade --force-reinstall virtualenv ) porque el script /home/users/pdobrogost/.local/bin/virtualenv se modifica.

La única forma de solucionar este problema fue eliminando manualmente los scripts de virtualenv * de la carpeta /home/users/pdobrogost/.local/bin/ e instalando virtualenv de nuevo. Después de esto, los scripts recién generados se refieren a la versión correcta del paquete:

 pdobrogost@host:~$ virtualenv --version 1.11 

Pude resolver esto así:

 $ brew update $ brew doctor $ brew uninstall python $ brew install python --build-from-source # took ~5 mins $ python --version # => Python 2.7.9 $ pip install --upgrade pip 

Estoy ejecutando con las siguientes cosas (a partir del 2 de enero de 2015):

 OS X Yosemite Version 10.10.1 $ brew -v Homebrew 0.9.5 $ python --version Python 2.7.9 $ ipython --version 2.2.0 $ pip --version pip 6.0.3 from /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-6.0.3-py2.7.egg (python 2.7) $ which pip /usr/local/bin/pip 

Me enfrentaba al problema similar en OSx. Mi stacktrace estaba diciendo

 raise DistributionNotFound(req) pkg_resources.DistributionNotFound: setuptools>=11.3 

Entonces hice lo siguiente

 sudo pip install --upgrade setuptools 

Esto resolvió mi problema. Espero que alguien encuentre esto útil.

En Mac OS X (MBP), lo siguiente (tomado de otra respuesta que se encuentra aquí) resolvió mis problemas:

 C02L257NDV33:~ jjohnson$ brew install pip Error: No available formula for pip Homebrew provides pip via: `brew install python`. However you will then have two Pythons installed on your Mac, so alternatively you can: sudo easy_install pip C02L257NDV33:~ jjohnson$ sudo easy_install pip 

Claramente, la causa raíz aquí es tener un método secundario mediante el cual instalar python (en mi caso Homebrew). Con suerte, las personas responsables de la secuencia de comandos pip pueden solucionar este problema, ya que sigue siendo relevante 2 años después de haber sido reportado por primera vez en Stack Overflow.

Tuve este problema porque instalé python / pip con un ~/.pydistutils.cfg extraño que no recuerdo haber escrito. Se pybrew , se reinstaló (con pybrew ) y todo estaba bien.

En mi caso (problema de sam, pero otros paquetes) no hubo dependencia de versión. Una secuencia de desinstalación de pip y pip insstall ayudó.