El último 'pip' falla con "requiere herramientas de configuración> = 0.8 para dist-info"

81

Al usar la versión reciente (1.5) de pip, obtengo un error al intentar actualizar varios paquetes. Por ejemplo, sudo pip install -U pytzda como resultado una falla con:

Wheel installs require setuptools >= 0.8 for dist-info support.
pip's wheel support requires setuptools >= 0.8 for dist-info support.

No entiendo este mensaje (tengo setuptools2.1) o qué hacer al respecto.


Información de excepción del registro para este error:

Exception information:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 230, in run
    finder = self._build_package_finder(options, index_urls, session)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 185, in _build_package_finder
    session=session,
  File "/Library/Python/2.7/site-packages/pip/index.py", line 50, in __init__
    self.use_wheel = use_wheel
  File "/Library/Python/2.7/site-packages/pip/index.py", line 89, in use_wheel
    raise InstallationError("pip's wheel support requires setuptools >= 0.8 for dist-info support.")
InstallationError: pip's wheel support requires setuptools >= 0.8 for dist-info support.
orome
fuente

Respuestas:

148

Esto funcionó para mí:

sudo pip install setuptools --no-use-wheel --upgrade

Tenga en cuenta que es el uso de sudo

ACTUALIZAR

En la ventana, solo necesita ejecutar pip install setuptools --no-use-wheel --upgradecomo administrador. En unix / linux, el sudocomando es para elevar los permisos.

ACTUALIZAR

Esto parece haberse solucionado en 1.5.1.

Rolandf
fuente
Lo siento, no parece resolver completamente mi problema, todavía estoy trabajando en ello.
Rolandf
Tuve que revertir el uso de pip 1.4 por ahora, buscaré una solución más adelante.
Rolandf
Trabajó para mi. No tengo idea de por qué sucedió esto.
ame
4
Tenga en cuenta que la --no-use-wheelopción agregada simplemente omite el uso de 'archivos de rueda' , pero por lo demás realiza exactamente la misma instalación como un comando que lo omite.
orome
1
Me funcionó en Centos 6. Habla sobre un mensaje de error abstracto.
Fred
11

Primero, nunca debe ejecutar 'sudo pip'.

Si es posible, debe usar el administrador de paquetes de su sistema porque usa firmas GPG para asegurarse de que no está ejecutando código malicioso.

De lo contrario, intente actualizar las herramientas de configuración:

easy_install -U setuptools

Alternativamente, intente:

pip install --user <somepackage>

Por supuesto, esto es para paquetes "globales". Lo ideal sería utilizar virtualenvs.

usuario1503941
fuente
6
Generalmente, ejecutar pip como sudo es incorrecto. Sin embargo, a veces se hace necesario instalar cosas en Python sistema (como virtualenv, o pip sí mismo), y sudo es apropiada a continuación.
Luke Sneeringer
1
@LukeSneeringer: ¿Por qué está "mal"? No creo que realmente tenga otra opción, sin una reconfiguración importante.
orome
1
easy_install -U setuptoolsrocas!
madzohan