Сбой установки Python: неверная команда egg_info

Я обнаружил, что в последнее время часто, когда я пытаюсь установить пакет Python с использованием pip, я получаю сообщение об ошибке ниже.

В Интернете я нашел ссылку на то, что нужно использовать "python2 setup.py install" из каталога загрузки, и действительно обнаружил, что это сработает, если я вручную найду и скачу пакет (из pypi).

Но я не знаю, куда pip загружает пакеты и / или почему он не работает таким образом.

Я попытался выполнить обновление pip, но оно также не удалось аналогичным образом, с кучей ошибок "Неизвестная опция распространения" (entry_points, zip_safe, test_suite, tests_require)!

Попытка использовать pypm ActiveState не удалась, потому что они имеют меньшую библиотечную базу и не включают эти пакеты.

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'

16 ответов

Решение

Установите дистрибутив, который поставляется с egg_info ,

Должно быть так же просто, как pip install Distribute,

Распространение было объединено с Setuptools начиная с версии 0.7. Если вы используете версию <=0.6, обновите с помощью pip install --upgrade setuptools или же easy_install -U setuptools,

Поскольку дистрибутив был объединен с setuptools, теперь рекомендуется вместо этого установить / обновить setuptools:

[sudo] pip install --upgrade setuptools

Имейте в виду, что вам, возможно, придется сделать pip install --upgrade Distribute если он уже установлен и ваш pip можно назвать pip2 для Python2 на некоторых системах (он у меня).

У меня была эта проблема, а также некоторые другие проблемы с Brewed Python на OS X v10.9 (Mavericks).

sudo pip install --upgrade setuptools

у меня не сработало, и я думаю, что мои настройки / распространение дистрибутива были испорчены.

Я наконец получил его на работу, запустив

sudo easy_install -U setuptools

Ничто из вышеперечисленного не работало для меня на Ubuntu 12.04 LTS (Precise Pangolin), и вот как я это исправил в конце:

Загрузите файл ez_setup.py с сайта setuptools (см. Раздел "Инструкции по установке"), а затем:

$ sudo python ez_setup.py

Надеюсь, это сэкономит кому-то время.

Эта ошибка может возникнуть при попытке установить pycurl,

В этом случае вы должны сделать

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

(основан здесь: https://gist.github.com/lxneng/1031014)

На CentOS 6.5 краткий ответ от чистой установки:

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

Вы не видите двойной, вы должны запустить обновление setuptools дважды. Длинный ответ ниже:

Установка python-pip пакет с использованием ням приносит python-setuptools наряду как зависимость. Это довольно старая версия и, следовательно, она на самом деле устанавливает distribute (0.6.10), После установки менеджера пакетов мы обычно хотим обновить его, поэтому мы делаем pip install -U pip, Текущая версия pip для меня - 1.5.6.

Теперь мы переходим к обновлению setuptools, и эта версия pip достаточно умна, чтобы знать, что сначала она должна удалить старую версию дистрибутива. Он делает это, но затем вместо установки последней версии setuptools устанавливает setuptools (0.6c11),

На данный момент все виды вещей ломаются из-за этой чрезвычайно старой версии setuptools, но мы на самом деле на полпути. Если мы сейчас выполним ту же самую команду во второй раз, pip install -U setuptools, старая версия setuptools удаляется, а версия 5.5.1 устанавливается. Я не знаю, почему Пип не приводит нас прямо к новой версии за один раз, но это то, что происходит, и, надеюсь, это поможет другим увидеть это и понять, что вы не сходите с ума.

Похоже, что по умолчанию easy_install не работает в своем текущем местоположении:

$ which easy_install /usr/bin/easy_install

Способ преодолеть это - использовать easy_install в пакетах сайта. Например:

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

Я столкнулся с той же самой проблемой, и я попробовал все вышеупомянутые ответы. Но, к сожалению, ничего из вышеперечисленного не сработало.

Как примечание, я наконец решаю это pip uninstall distribute,

Я знаю, что это старый вопрос, но вот шаги, которые я использовал, чтобы получить cassandra-driver на самом деле установить на Windows 7 / Python2. У меня дома Windows 10 / Python3, где я буду проверять это сегодня вечером. Я подтвердил, что это также работает в Windows 10 с Python 2 и 3.

проблема

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

Решение (я бы хотел, чтобы кто-то объяснил, почему это сработало)

  • попытка pip install cassandra-driver и получил вышеуказанное сообщение об ошибке
  • попытка pip install --pre cassandra-driver и получил следующую ошибку
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
  • Успешно выполнено pip install --pre cassandra-driver
  • Успешно выполнено pip uninstall cassandra-driver
  • Успешно выполнено pip install cassandra-driver

Повторюсь, я не совсем уверен, почему это сработало. Прямо сейчас мои два основных вывода заключаются в том, что либо требуется компилятор C++, либо работает --pre Опция впервые установила некоторые зависимости, которые отсутствовали при "обычной" установке. Я обновлюсь сегодня вечером после работы, когда у меня будет больше деталей.

pip install -U setuptools а также easy_install помещал информацию о яйцах в неправильный каталог.

Тогда я просто переустановил apt-get install python-dev, Позвольте мне установить драйверы, которые я хочу после этого

Попробуйте следующую команду:

pip install setuptools==28.8.0

Я также встречаю похожее сообщение об ошибке "Команда 'python setup.py egg_info' не выполнена с кодом ошибки 1", когда я хочу установить cairosvg с помощью команды pip install cairosvg в виртуальной среде.

Тогда я попробовал оба pip install --upgrade pip а также pip install --upgrade setuptools перед запуском pip3 install cairosvg, но я все еще получаю эту ошибку.

Я могу избавиться от этой ошибки с помощью sudo перед командой установки: sudo pip install cairosvg, Но обратите внимание, что команда с sudo установит пакет для системного python, а не для виртуальной среды.

Итак, я дополнительно проверяю сообщение об ошибке и обнаруживаю, что получаю ошибку при установке cairocffi. Затем я устанавливаю определенную версию cairocffi ( см. Этот ответ) перед установкой cairosvg. Вот так я решаю свою проблему.

Я просто конвертирую ответ liquidki в команды Ubuntu. На системе на основе Ubuntu это работает!:

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

Для меня обновление pip с 8.1.1 до 9.0.1 решило эту проблему.

Вы можете запустить что-то вроде sudo -H pip2 install --upgrade pip обновить версию пипа.

sudo apt-get install apache2-dev решил мою проблему

Другие вопросы по тегам