Falha na instalação do pip do Python: comando inválido egg_info

205

Acho que recentemente, muitas vezes, quando tento instalar um pacote Python usando pip , recebo os erros abaixo.

Encontrei uma referência on-line de que é necessário usar " python2 setup.py install " no diretório de download e, de fato, acho que isso funcionará se eu encontrar e baixar manualmente o pacote (do pypi).

Mas não sei para onde o pip está baixando pacotes e / ou por que está falhando dessa maneira.

Tentei fazer uma atualização de pip, mas também falhou de maneira semelhante, com vários erros "Opção de distribuição desconhecida" (pontos de entrada, zip_safe, test_suite, tests_require)!

A tentativa de usar o pypm do ActiveState falha, porque eles têm uma base de biblioteca menor e não inclui esses pacotes.

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
fonte
Para mim funcionou instalarpython-dev
lmaooooo

Respostas:

313

Instale distribuir , que acompanha egg_info.

Deve ser tão simples quanto pip install Distribute.

A distribuição foi mesclada no Setuptools a partir da versão 0.7. Se você estiver usando uma versão <= 0.6, atualize usando pip install --upgrade setuptoolsou easy_install -U setuptools.

Randall Ma
fonte
79
não funciona para mim. Tenho distribuir instalado, mas ainda obter a informação ovo de erro quase todas as vezes que eu tento instalar um pacote
Motim vai Woof
2
Para aqueles como @Zorpix que ainda recebem erros, pode querer verificar a versão do pip que está chamando. No Ubuntu, descobri que tinha uma versão do pacote distribuído que ainda estava sendo chamada.
James Snyder
1
Para a nova versão do setuptools para o trabalho, você também pode ter de desinstalação distribuir à mão ou apagando/usr/local/lib/python2.7/dist-packages/distribute-*
Michael
12
se você ainda tiver problemas após remover a distribuição ou o pip não atualizar as ferramentas de instalação corretamente, tente easy_install -U setuptoolsIsso funcionou para mim.
Kissgyorgy
5
Estranhamente, isso corrigiu o erro para todas as instalações, exceto pip install -U pip .
Cerin
58

Como a distribuição foi mesclada novamente no setuptools, agora é recomendável instalar / atualizar o setuptools:

[sudo] pip install --upgrade setuptools
Gringo Suave
fonte
7
Por alguma razão, tive que executar isso duas vezes (no meu ambiente virtual, distribuí 0.6.69 e setuptools 0.6c11) e, em seguida, pude instalar a versão mais recente do pip sem problemas.
amigos estão dizendo sobre glarrain
3
@glarrain aconteceu comigo! obrigado pela atenção! a primeira passagem desinstalada distribui 0.7 e a segunda desinstalada setuptools 0.6c11 #
airstrike
22

Lembre-se de que você pode fazer isso pip install --upgrade Distributese já o tiver instalado e o seu pippode ser chamado pip2de Python2 em alguns sistemas (ele é meu).

Naypam
fonte
1
Como observação, isso deve ser feito no modo administrador no Windows para uma instalação típica do Python. Caso contrário, é fácil ignorar uma falha na instalação do Distribute.
Steven Bluen
13

Eu tive esse problema, bem como alguns outros problemas com o Brewed Python no OS X v10.9 (Mavericks).

sudo pip install --upgrade setuptools

não funcionou para mim e acho que minha instalação de ferramentas / distribuição foi danificada.

Finalmente consegui funcionar executando

sudo easy_install -U setuptools
Ian weisberger
fonte
11

Nenhuma das opções acima funcionou para mim no Ubuntu 12.04 LTS (Precise Pangolin), e aqui está como eu a corrigi no final:

Faça o download do ez_setup.py no download de setuptools (consulte a seção "Instruções de instalação") e depois:

$ sudo python ez_setup.py

Espero que poupe alguém a algum tempo.

user3637041
fonte
9

Este erro pode ocorrer quando você está tentando instalar pycurl.

Nesse caso, você deve fazer

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

(fundada aqui: https://gist.github.com/lxneng/1031014 )

Sergei Panfilov
fonte
8

No CentOS 6.5, a resposta curta de uma instalação limpa é:

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

Você não está vendo o dobro, deve executar a atualização do setuptools duas vezes. A resposta longa está abaixo:

A instalação do python-pippacote usando o yum traz consigo python-setuptoolsuma dependência. É uma versão bastante antiga e, portanto, está realmente sendo instalada distribute (0.6.10). Depois de instalar um gerenciador de pacotes, geralmente queremos atualizá-lo pip install -U pip. A versão atual do pip para mim é a 1.5.6.

Agora vamos atualizar as ferramentas de instalação e esta versão do pip é inteligente o suficiente para saber que deve remover a versão antiga do Distributed primeiro. Ele faz isso, mas, em vez de instalar a versão mais recente do setuptools, instala setuptools (0.6c11).

Neste ponto, todos os tipos de coisas estão quebradas devido a essa versão extremamente antiga do setuptools, mas na verdade estamos no meio do caminho. Se agora executarmos exatamente o mesmo comando pela segunda vez pip install -U setuptools, a versão antiga do setuptools será removida e a versão 5.5.1 será instalada. Não sei por que o pip não nos leva diretamente à nova versão de uma só vez, mas é isso que está acontecendo e espero que ajude outras pessoas a ver isso e saber que você não está ficando louco.

liquidki
fonte
6

Parece que o easy_install padrão está quebrado em seu local atual:

$ which easy_install /usr/bin/easy_install

Uma maneira de superar isso é usar o easy_install nos pacotes do site. Por exemplo:

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

johnpaulhayes
fonte
6

Eu estava enfrentando o mesmo problema e tentei todas as respostas acima. Mas, infelizmente, nenhuma das opções acima funcionou.

Como uma nota, eu finalmente resolvo isso pip uninstall distribute.

Yin Song
fonte
3
Isso corrigiu o problema para mim. Acontece que eu tinha uma versão antiga de distribuição instalada e uma versão ainda mais antiga do setuptools instalada, sendo preferida às ferramentas de instalação mais recentes instaladas pelo meu empacotador de sistema ... Desinstalando o setuptools e a distribuição e, em seguida, reinstalando o setuptools usando o meu empacotador de sistema corrigiu o problema para mim.
precisa saber é o seguinte
5

Sei que essa é uma pergunta mais antiga, mas aqui estão as etapas que eu costumava cassandra-driverinstalar no Windows 7 / Python2. Eu tenho o Windows 10 / Python3 em casa, onde testarei isso esta noite. Confirmei que isso também funciona no Windows 10 com o 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

Solução TL; DR

Solução (eu adoraria que alguém explicasse por que isso funcionou)

  • Tentativa pip install cassandra-drivere recebeu a mensagem de erro acima
  • Tentativa pip install --pre cassandra-drivere erro:
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
  • Executado com sucesso pip install --pre cassandra-driver
  • Executado com sucesso pip uninstall cassandra-driver
  • Executado com sucesso pip install cassandra-driver

Para reiterar, não sei ao certo por que isso funcionou. No momento, minhas duas principais conclusões são que o compilador C ++ é necessário ou que a --preopção é executada na primeira vez em que instalou algumas dependências que estavam faltando na instalação 'regular'. Vou atualizar hoje à noite depois do trabalho, quando tiver mais detalhes.

Frito
fonte
1

pip install -U setuptoolse easy_installestava colocando informações sobre ovos no diretório errado.

Então eu apenas reinstalei apt-get install python-dev. Deixe-me instalar os drivers que eu quero depois disso

Shanwar
fonte
1

tente o seguinte comando:

pip install setuptools==28.8.0
vp9031
fonte
0

Acabei de converter a resposta do liquidki em comandos do Ubuntu. Em um sistema baseado no Ubuntu, ele funciona!

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

Para mim, a atualização do pip 8.1.1 para 9.0.1 resolveu esse problema.

Você pode executar algo como sudo -H pip2 install --upgrade pipatualizar sua versão do pip.

Qin Heyang
fonte
0

Também encontro uma mensagem de erro semelhante "O comando 'python setup.py egg_info' falhou com o código de erro 1" quando quero instalar o cairosvg com comando pip install cairosvgem um ambiente virtual.

Então eu tentei ambos pip install --upgrade pipe pip install --upgrade setuptoolsantes de executar pip3 install cairosvg, mas ainda recebo esse erro.

I pode se livrar deste erro com sudo na frente do comando de instalação: sudo pip install cairosvg. Mas observe que o comando com sudo instalará o pacote para o python do sistema em vez do ambiente virtual.

Portanto, verifico mais a mensagem de erro e percebo que recebo o erro ao instalar o cairocffi . Em seguida, instalo uma certa versão do cairocffi ( consulte esta resposta ) antes de instalar o cairosvg. É assim que eu resolvo meu problema.

liushan CHEN
fonte