Python pip install falla: comando no válido egg_info

205

Me parece que recientemente, cuando trato de instalar un paquete de Python usando pip , recibo los errores a continuación.

Encontré una referencia en línea de que uno tiene que usar " python2 setup.py install " desde el directorio de descarga, y de hecho descubro que esto funcionará si encuentro y descargo manualmente el paquete (desde pypi).

Pero, no sé dónde pip está descargando paquetes y / o por qué está fallando de esta manera.

Traté de hacer una actualización pip, pero también falló de manera similar, con un montón de errores de "Opciones de distribución desconocidas" (entry_points, zip_safe, test_suite, tests_require).

Intentar usar el pypm de ActiveState falla, porque tienen una base de biblioteca más pequeña y no incluye estos paquetes.

C:\test>pip install requests-oauth
Downloading/unpacking requests-oauth
  Downloading requests-oauth-0.4.1.tar.gz
  Running setup.py egg_info for package requests-oauth
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
      warnings.warn(msg)
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
      warnings.warn(msg)
    usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: -c --help [cmd1 cmd2 ...]
       or: -c --help-commands
       or: -c cmd --help

    error: invalid command 'egg_info'
    Complete output from command python setup.py egg_info:
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
  warnings.warn(msg)

E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)

usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: -c --help [cmd1 cmd2 ...]
   or: -c --help-commands
   or: -c cmd --help

error: invalid command 'egg_info'
guthrie
fuente
Para mí funcionó la instalaciónpython-dev
lmaooooo

Respuestas:

313

Instalar distribuir , que viene con egg_info.

Debería ser tan simple como pip install Distribute.

Distribuir se ha fusionado en Setuptools a partir de la versión 0.7. Si está utilizando una versión <= 0.6, actualice con pip install --upgrade setuptoolso easy_install -U setuptools.

Randall Ma
fuente
79
no funciona para mi He distribuido instalado, pero todavía recibo el error de información del huevo casi cada vez que intento instalar un paquete
Riot Goes Woof
2
Para aquellos como @Zorpix que todavía reciben errores, es posible que desee verificar a qué versión de pip está llamando. En Ubuntu descubrí que tenía una versión con paquete de distribución que todavía estaba siendo llamada.
James Snyder
1
Para que la nueva versión de setuptools funcione, es posible que también deba desinstalar la distribución a mano o eliminándola/usr/local/lib/python2.7/dist-packages/distribute-*
Michael
12
si aún tiene problemas después de eliminar la distribución o pip no actualiza las herramientas de configuración correctamente, intente easy_install -U setuptoolsEsto funcionó para mí.
kissgyorgy
55
Curiosamente, esto solucionó el error para todas las instalaciones, excepto pip install -U pip .
Cerin
58

Como la distribución se ha fusionado nuevamente en las herramientas de configuración, ahora se recomienda instalar / actualizar las herramientas de configuración en su lugar:

[sudo] pip install --upgrade setuptools
Gringo Suave
fuente
77
Por alguna razón tuve que ejecutar esto dos veces (en mi entorno virtual había distribuido 0.6.49 y setuptools 0.6c11) y luego pude instalar la última versión de pip sin problemas.
glarrain 02 de
3
@glarrain me pasó a mí! ¡Gracias por el aviso! la primera pasada desinstalada distribuye 0.7, y la segunda instalación desinstalada 0.6c11
ataque aéreo
22

Tenga en cuenta que es posible que tenga que hacerlo pip install --upgrade Distributesi ya lo tiene instalado y es pipposible que se le pip2solicite Python2 en algunos sistemas (está en el mío).

Naypam
fuente
1
Como nota, esto debe hacerse en modo administrador en Windows para una instalación típica de Python. De lo contrario, es fácil pasar por alto una falla de instalación para Distribuir.
Steven Bluen
13

Tuve este problema, así como algunos otros problemas con Brewed Python en OS X v10.9 (Mavericks).

sudo pip install --upgrade setuptools

no funcionó para mí, y creo que mi configuración de herramientas / distribución fue fallida.

Finalmente llegué a trabajar ejecutando

sudo easy_install -U setuptools
Ian weisberger
fuente
11

Nada de lo anterior funcionó para mí en Ubuntu 12.04 LTS (Precise Pangolin), y así es como lo arreglé al final:

Descargue ez_setup.py desde download setuptools (consulte la sección "Instrucciones de instalación") y luego:

$ sudo python ez_setup.py

Espero que ahorre algo de tiempo.

usuario3637041
fuente
9

Este error puede ocurrir cuando intenta instalar pycurl.

En este caso deberías hacer

sudo apt-get install libcurl4-gnutls-dev librtmp-dev

(fundado aquí: https://gist.github.com/lxneng/1031014 )

Sergei Panfilov
fuente
8

En CentOS 6.5, la respuesta corta de una instalación limpia es:

yum -y install python-pip pip install -U pip pip install -U setuptools pip install -U setuptools

No está viendo el doble, debe ejecutar la actualización de setuptools dos veces. La respuesta larga está abajo:

Instalar el python-pippaquete usando yum trae python-setuptoolscomo una dependencia. Es una versión bastante antigua y, por lo tanto, en realidad está instalando distribute (0.6.10). Después de instalar un administrador de paquetes, generalmente queremos actualizarlo, así que lo hacemos pip install -U pip. La versión actual de pip para mí es 1.5.6.

Ahora vamos a actualizar setuptools y esta versión de pip es lo suficientemente inteligente como para saber que debería eliminar primero la versión anterior de distribuir. Hace esto, pero luego, en lugar de instalar la última versión de setuptools, lo instala setuptools (0.6c11).

En este punto, todo tipo de cosas están rotas debido a esta versión extremadamente antigua de setuptools, pero en realidad estamos a medio camino. Si ahora ejecutamos exactamente el mismo comando por segunda vez, pip install -U setuptoolsse elimina la versión anterior de setuptools y se instala la versión 5.5.1. No sé por qué pip no nos lleva directamente a la nueva versión de una sola vez, pero esto es lo que está sucediendo y espero que ayude a otros a ver esto y saber que no te estás volviendo loco.

liquidki
fuente
6

Parece que la instalación fácil predeterminada está rota en su ubicación actual:

$ which easy_install /usr/bin/easy_install

Una forma de superar esto es usar easy_install en los paquetes del sitio. Por ejemplo:

$ sudo python /Library/Python/2.7/site-packages/easy_install.py boto

johnpaulhayes
fuente
6

Estaba enfrentando el mismo problema e intenté todas las respuestas anteriores. Pero desafortunadamente, ninguno de los anteriores funcionó.

Como nota, finalmente resuelvo esto por pip uninstall distribute.

Canción Yin
fuente
3
Esto solucionó el problema para mí. Resultó que tenía una versión anterior de distribución instalada, y una versión aún más antigua de las herramientas de instalación instaladas y preferidas sobre las herramientas de instalación más nuevas instaladas por mi empaquetador del sistema ... Desinstalando ambas herramientas de configuración y distribuyendo, y luego reinstalando las herramientas de configuración usando mi empaquetador del sistema me solucionó el problema.
Dominic LoBue
5

Sé que esta es una pregunta anterior, pero estos son los pasos que seguí cassandra-driverpara instalar realmente en Windows 7 / Python2. Tengo Windows 10 / Python3 en casa donde probaré esto esta noche.He confirmado que esto también funciona en Windows 10 con Python 2 y 3.

Problema

Command "python setup.py egg_info" failed with error code 1 in c:\users\Frito\appdata\local\temp\pip-build-7dgmdc\cassandra-driver

TL; Solución DR

Solución (me encantaría que alguien explicara por qué funcionó)

  • Intenté pip install cassandra-drivery recibí el mensaje de error anterior
  • Intenté pip install --pre cassandra-drivery obtuve el siguiente error
distutils.errors.DistutilsError: Setup script exited with error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat).
Get it from http://aka.ms/vcpython27

Command "c:\users\Frito\.virtualenvs\symdash\scripts\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\Frito\\appdata\\local\\temp\\pip-build-sesxxu\\cassandra-driver\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record  c:\users\Frito\appdata\local\temp\pip-ujsxsk-record\install-record.txt --single-version-externally-managed --compile --install-headers c:\users\Frito\.virtualenvs\symdash\include\site\python2.7\cassandra-driver"  failed with error code 1 in  c:\users\Frito\appdata\local\temp\pip-build-sesxxu\cassandra-driver
  • Instalado Microsoft Visual C++ Compiler for Python 2.7
  • Ejecutado exitosamente pip install --pre cassandra-driver
  • Ejecutado exitosamente pip uninstall cassandra-driver
  • Ejecutado exitosamente pip install cassandra-driver

Para reiterar, no estoy realmente seguro de por qué esto funcionó. En este momento, mis dos conclusiones principales son que se requiere el compilador de C ++ o que ejecutar la --preopción la primera vez instaló algunas dependencias que faltaban en la instalación 'regular'. Actualizaré esta noche después del trabajo cuando tenga más detalles.

Frito
fuente
1

pip install -U setuptools y easy_install estaba poniendo información de huevo en el directorio equivocado.

Entonces acabo de reinstalar apt-get install python-dev. Déjame instalar los controladores que quiero después de eso

shanwar
fuente
1

prueba el siguiente comando:

pip install setuptools==28.8.0
vp9031
fuente
0

Acabo de convertir la respuesta de liquidki en comandos de Ubuntu. ¡En un sistema basado en Ubuntu funciona !:

sudo apt -y install python-pip
pip install -U pip
sudo pip install -U setuptools
efkan
fuente
0

Para mí, actualizar pip de 8.1.1 a 9.0.1 resolvió este problema.

Puede ejecutar algo como sudo -H pip2 install --upgrade pipactualizar su versión de pip.

Qin Heyang
fuente
0

También encuentro un mensaje de error similar "El comando 'python setup.py egg_info' falló con el código de error 1" cuando quiero instalar cairosvg con el comandopip install cairosvg en un entorno virtual.

Luego probé ambos pip install --upgrade pipy pip install --upgrade setuptoolsantes de correr pip3 install cairosvg, pero aún recibo este error.

Puedo deshacerse de este error con sudo delante del comando de instalación: sudo pip install cairosvg. Pero tenga en cuenta que el comando con sudo instalará el paquete para el sistema python en lugar del entorno virtual.

Por lo tanto, verifico el mensaje de error y encuentro que aparece el error al instalar el verifico aparece cairocffi . Luego instalo una cierta versión de cairocffi ( consulte esta respuesta ) antes de instalar cairosvg. Así es como resuelvo mi problema.

liushan CHEN
fuente