L'installazione di Python pip non riesce: comando egg_info non valido


205

Trovo che di recente spesso quando provo ad installare un pacchetto Python usando pip , ottengo gli errori di seguito.

Ho trovato un riferimento online che si deve usare " python2 setup.py install " dalla directory di download, e in effetti scopro che funzionerà se trovo e scarico manualmente il pacchetto (da pypi).

Ma non so dove pip stia scaricando i pacchetti e / o perché non stia fallendo in questo modo.

Ho provato a fare un aggiornamento del pip, ma non è riuscito in modo simile, con un sacco di errori "Opzione di distribuzione sconosciuta" (entry_points, zip_safe, test_suite, tests_require)!

Il tentativo di utilizzare il pypm di ActiveState non riesce, perché hanno una base di libreria più piccola e non include questi pacchetti.

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'

Per me ha funzionato installandopython-dev
lmaooooo il

Risposte:


313

Installa distribuire , che viene fornito con egg_info.

Dovrebbe essere semplice come pip install Distribute.

Distribuire è stato unito in Setuptools dalla versione 0.7. Se si utilizza una versione <= 0.6, eseguire l'aggiornamento utilizzando pip install --upgrade setuptoolso easy_install -U setuptools.


79
non funziona per me. Ho distribuito installato, ma ricevo comunque l'errore di informazioni sull'uovo quasi ogni volta che provo ad installare un pacchetto
Riot va Woof il

2
A quelli come @Zorpix che continuano a ricevere errori potresti voler verificare quale versione di pip stai chiamando. Su Ubuntu ho scoperto di avere una versione con pacchetti distro che ancora veniva chiamata.
James Snyder,

1
Affinché la nuova versione di setuptools funzioni, potrebbe anche essere necessario disinstallare distribuire manualmente o eliminando/usr/local/lib/python2.7/dist-packages/distribute-*
Michael,

12
se i problemi persistono anche dopo la rimozione di distribut o pip non aggiorna correttamente gli strumenti di installazione, provare easy_install -U setuptoolsQuesto ha funzionato per me.
kissgyorgy,

5
Stranamente, questo ha risolto l'errore per tutte le installazioni tranne pip install -U pip .
Cerin,

58

Poiché la distribuzione è stata ricondotta in setuptools, si consiglia di installare / aggiornare invece setuptools:

[sudo] pip install --upgrade setuptools

7
Per qualche motivo ho dovuto eseguirlo due volte (nel mio ambiente virtuale avevo distribuito 0.6.49 e setuptools 0.6c11) e quindi ho potuto installare l'ultima versione di pip senza problemi.
Glarrain,

3
@glarrain mi è successo! Grazie per il testa a testa! il primo passaggio disinstallato distribuisce 0.7 e il secondo programma di installazione disinstallato 0.6c11
attacco aereo

22

Ricorda che potresti doverlo fare pip install --upgrade Distributese lo hai già installato e pippotresti essere chiamato pip2per Python2 su alcuni sistemi (è sul mio).


1
Come nota, questo deve essere fatto in modalità amministratore su Windows per una tipica installazione di Python. Altrimenti, è facile trascurare un errore di installazione per Distribute.
Steven Bluen,

13

Ho avuto questo problema, così come altri problemi con Brewed Python su OS X v10.9 (Mavericks).

sudo pip install --upgrade setuptools

non ha funzionato per me e penso che il mio setuptools / distribut setup sia andato a male.

Finalmente ho funzionato correndo

sudo easy_install -U setuptools

11

Nessuna delle precedenti ha funzionato per me su Ubuntu 12.04 LTS (Precise Pangolin), ed ecco come l'ho risolto alla fine:

Scarica ez_setup.py dai download setuptools (vedi la sezione "Istruzioni per l'installazione") quindi:

$ sudo python ez_setup.py

Spero che salverà qualcuno un po 'di tempo.



8

Su CentOS 6.5, la risposta breve da un'installazione pulita è:

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

Non si vede il doppio, è necessario eseguire l'aggiornamento setuptools due volte. La risposta lunga è di seguito:

L'installazione del python-pippacchetto tramite yum comporta python-setuptoolsuna dipendenza. È una versione piuttosto vecchia e quindi si sta effettivamente installando distribute (0.6.10). Dopo aver installato un gestore pacchetti, generalmente vogliamo aggiornarlo, quindi lo facciamo pip install -U pip. La versione attuale di pip per me è 1.5.6.

Ora andiamo ad aggiornare setuptools e questa versione di pip è abbastanza intelligente da sapere che dovrebbe rimuovere prima la vecchia versione di distribut. Lo fa, ma poi invece di installare l'ultima versione di setuptools si installa setuptools (0.6c11).

A questo punto tutti i tipi di cose sono rotti a causa di questa versione estremamente vecchia di setuptools, ma in realtà siamo a metà strada. Se ora eseguiamo esattamente lo stesso comando una seconda volta pip install -U setuptools, la vecchia versione di setuptools viene rimossa e viene installata la versione 5.5.1. Non so perché pip non ci porti direttamente alla nuova versione in un colpo solo, ma questo è ciò che sta accadendo e speriamo che possa aiutare gli altri a vedere questo e sapere che non stai impazzendo.


6

Sembra che easy_install predefinito sia rotto nella posizione corrente:

$ which easy_install /usr/bin/easy_install

Un modo per ovviare a questo è utilizzare easy_install nei pacchetti del sito. Per esempio:

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


6

Stavo affrontando lo stesso problema e ho provato tutte le risposte di cui sopra. Ma sfortunatamente, nessuno dei precedenti ha funzionato.

Come nota, finalmente risolvo questo problema pip uninstall distribute.


3
Ciò ha risolto il problema per me. Si è scoperto che avevo installato una vecchia versione di distribut, e una versione ancora più vecchia di setuptools installata e preferita rispetto ai più recenti setuptools installati dal mio packager di sistema ... risolto il problema per me.
Dominic LoBue,

5

So che questa è una domanda più vecchia, ma ecco i passaggi che ho usato per arrivare cassandra-drivera installare effettivamente su Windows 7 / Python2. Ho Windows 10 / Python3 a casa dove lo proverò stasera.Ho confermato che funziona anche su Windows 10 con Python 2 e 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; soluzione DR

Soluzione (mi piacerebbe che qualcuno spiegasse perché ha funzionato)

  • Tentativo pip install cassandra-drivere messaggio di errore sopra riportato
  • Tentativo di pip install --pre cassandra-driverottenere il seguente errore
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
  • installato Microsoft Visual C++ Compiler for Python 2.7
  • Eseguito con successo pip install --pre cassandra-driver
  • Eseguito con successo pip uninstall cassandra-driver
  • Eseguito con successo pip install cassandra-driver

Per ribadire, non sono davvero sicuro del motivo per cui ha funzionato. In questo momento le mie due conclusioni principali sono che è necessario il compilatore C ++ o che l'esecuzione --predell'opzione la prima volta ha installato alcune dipendenze che mancavano dall'installazione 'normale'. Aggiornerò stasera dopo il lavoro quando avrò maggiori dettagli.


1

pip install -U setuptools e easy_install stava inserendo egg-info nella directory sbagliata.

Quindi ho appena reinstallato apt-get install python-dev. Lasciami installare i driver che voglio dopo


1

prova il seguente comando:

pip install setuptools==28.8.0

0

Ho appena convertito la risposta di liquidki in comandi Ubuntu. Su un sistema basato su Ubuntu funziona !:

sudo apt -y install python-pip
pip install -U pip
sudo pip install -U setuptools

0

Per me l'aggiornamento di pip dalla 8.1.1 alla 9.0.1 ha risolto questo problema.

Puoi eseguire qualcosa come sudo -H pip2 install --upgrade pipaggiornare la tua versione pip.


0

Ho anche visualizzato un messaggio di errore simile "Comando 'python setup.py egg_info' non riuscito con codice di errore 1" quando voglio installare cairosvg con comandopip install cairosvg in un ambiente virtuale.

Poi ho provato entrambi pip install --upgrade pipe pip install --upgrade setuptoolsprima di correre pip3 install cairosvg, ma ho ancora questo errore.

Posso sbarazzarsi di questo errore con sudo davanti al comando di installazione: sudo pip install cairosvg. Ma nota che il comando con sudo installerà il pacchetto per il sistema Python piuttosto che l'ambiente virtuale.

Quindi, controllo ulteriormente il messaggio di errore e trovo che ottengo l'errore durante l'installazione di cairocffi . Quindi installo una determinata versione di cairocffi ( fare riferimento a questa risposta ) prima di installare cairosvg. Ecco come risolvo il mio problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.