web-dev-qa-db-fra.com

Echec de l'installation du pip Python: commande non valide Egg_info

Je constate que récemment, souvent, lorsque j'essaie d'installer un paquet Python en utilisant pip, le message d'erreur ci-dessous s'affiche.

J'ai trouvé une référence en ligne selon laquelle il faut utiliser "python2 setup.py install" à partir du répertoire de téléchargement, et je constate que cela fonctionnera ensuite si je recherche et télécharge manuellement le paquet (à partir de pypi).

Mais, je ne sais pas où pip télécharge les paquets et/ou pourquoi il échoue de cette manière.

J'ai essayé de faire une mise à niveau du pip, mais cela a également échoué de manière similaire, avec un tas d'erreurs "Option de distribution inconnue" (entry_points, Zip_safe, test_suite, tests_require)!

Essayer d'utiliser pypm d'ActiveState échoue, car ils ont une base de bibliothèque plus petite et n'incluent pas ces packages.

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'
201
guthrie

Installez distribuez , qui vient avec Egg_info.

Devrait être aussi simple que pip install Distribute. </ S>

Distribute a été fusionné dans Setuptools à partir de la version 0.7. Si vous utilisez une version <= 0.6, effectuez une mise à niveau à l'aide de pip install --upgrade setuptools ou easy_install -U setuptools.

310
Randall Ma

Comme la distribution a été fusionnée dans setuptools, il est maintenant recommandé d'installer/mettre à niveau setuptools à la place:

[Sudo] pip install --upgrade setuptools
58
Gringo Suave

N'oubliez pas que vous devrez peut-être utiliser pip install --upgrade Distribute si vous l'avez déjà installé et que votre pip peut s'appeler pip2 pour Python2 sur certains systèmes (c'est le mien).

22
Naypam

J'ai eu ce problème, ainsi que d'autres problèmes avec Brewed Python sur OS X v10.9 (Mavericks).

Sudo pip install --upgrade setuptools

n'a pas fonctionné pour moi, et je pense que mon installation de setuptools/distribuer a été bâclée.

Je l'ai finalement fait fonctionner en courant

Sudo easy_install -U setuptools
13
Ian weisberger

Rien de ce qui précède n'a fonctionné pour moi sur Ubuntu 12.04 LTS (Precise Pangolin), et voici comment j'ai résolu le problème:

Téléchargez ez_setup.py à partir de setuptools (voir la section "Instructions d’installation"), puis:

$ Sudo python ez_setup.py

J'espère que cela fera gagner du temps à quelqu'un.

11
user3637041

Cette erreur peut se produire lorsque vous essayez d'installer pycurl.

Dans ce cas, vous devriez faire

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

(fondée ici: https://Gist.github.com/lxneng/1031014 )

9
Sergei Panfilov

Sur CentOS 6.5, la réponse courte après une nouvelle installation est la suivante:

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

Vous ne voyez pas double, vous devez exécuter la mise à niveau setuptools deux fois. La réponse longue est ci-dessous:

L'installation du paquet python-pip à l'aide de yum apporte python-setuptools comme dépendance. C'est une version assez ancienne et c'est pourquoi elle installe en fait distribute (0.6.10). Après avoir installé un gestionnaire de paquets, nous souhaitons généralement le mettre à jour. Nous faisons donc pip install -U pip. La version actuelle de pip pour moi est la 1.5.6.

Nous allons maintenant mettre à jour setuptools et cette version de pip est suffisamment intelligente pour savoir qu’elle devrait d’abord supprimer l’ancienne version de distrib. Cela, mais au lieu d’installer la dernière version de setuptools, il installe setuptools (0.6c11).

À ce stade, toutes sortes de choses sont cassées à cause de cette version extrêmement ancienne de setuptools, mais nous en sommes à mi-chemin. Si nous exécutons maintenant exactement la même commande une seconde fois, pip install -U setuptools, l'ancienne version de setuptools est supprimée et la version 5.5.1 est installée. Je ne sais pas pourquoi pip ne nous amène pas directement à la nouvelle version en une fois, mais c'est ce qui se passe et j'espère que cela aidera les autres à voir cela et à savoir que vous ne devenez pas fou.

8
liquidki

On dirait que easy_install par défaut est cassé à son emplacement actuel:

$ which easy_install /usr/bin/easy_install

Un moyen de résoudre ce problème consiste à utiliser easy_install dans les packages de site. Par exemple:

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

6
johnpaulhayes

Je faisais face au même problème et j'ai essayé toutes les réponses ci-dessus. Mais malheureusement, rien de ce qui précède n'a fonctionné.

En guise de note, je résous finalement ceci par pip uninstall distribute.

6
Yin Song

Je sais que c’est une question plus ancienne, mais voici les étapes que j’ai utilisées pour obtenir cassandra-driver à installer sur Windows 7/Python2. J'ai Windows 10/Python3 à la maison où je vais tester cela ce soir. J'ai confirmé que cela fonctionnait également sur Windows 10 avec Python 2 et 3. 

Problème

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

TL; DR Solution

Solution (j'aimerais que quelqu'un explique pourquoi cela a fonctionné)

  • Tentative pip install cassandra-driver et message d'erreur ci-dessus
  • Tentative pip install --pre cassandra-driver et erreur suivante
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
  • Microsoft Visual C++ Compiler for Python 2.7 installé
  • Exécuté avec succès pip install --pre cassandra-driver
  • Exécuté avec succès pip uninstall cassandra-driver
  • Exécuté avec succès pip install cassandra-driver

Pour répéter, je ne suis pas vraiment sûr de savoir pourquoi cela a fonctionné. À l'heure actuelle, mes deux principales conclusions sont que le compilateur C++ est requis ou que l'exécution de l'option --pre a installé pour la première fois des dépendances manquantes dans l'installation «normale». Je mettrai à jour ce soir après le travail quand j'aurai plus de détails.

5
Frito

pip install -U setuptools et easy_install mettaient Egg-info dans le mauvais répertoire.

Ensuite, je viens de réinstaller apt-get install python-dev. Laissez-moi installer les pilotes que je veux après cela

1
shanwar

essayez la commande suivante:

pip install setuptools==28.8.0
0
vp9031

Je viens de convertir la réponse de liquidki en commandes Ubuntu. Sur un système basé sur Ubuntu, cela fonctionne !:

Sudo apt -y install python-pip
pip install -U pip
Sudo pip install -U setuptools
0
efkan

Pour moi, la mise à niveau de pip de 8.1.1 à 9.0.1 a résolu ce problème.

Vous pouvez exécuter quelque chose comme Sudo -H pip2 install --upgrade pip pour mettre à niveau votre version de pip.

0
Qin Heyang

Je rencontre également un message d'erreur similaire "La commande 'python setup.py Egg_info' a échoué avec le code d'erreur 1" Lorsque je souhaite installer cairosvg avec la commande pip install cairosvg dans un environnement virtuel.

Ensuite, j'ai essayé à la fois pip install --upgrade pip et pip install --upgrade setuptools avant d'exécuter pip3 install cairosvg, mais j'obtiens toujours cette erreur.

Je peux supprimer cette erreur avec Sudo devant la commande d'installation: Sudo pip install cairosvg. Mais notez que la commande avec Sudo installera le paquet pour le système python plutôt que pour l'environnement virtuel.

Donc, je vérifie davantage le message d’erreur et trouve que j’obtiens l’erreur lors de l’installation de cairocffi. Ensuite, j'installe une certaine version de cairocffi ( reportez-vous à cette réponse ) avant d'installer cairosvg. C'est comme ça que je résous mon problème.

0
liushan CHEN