Сбой установки Python: неверная команда egg_info
Я обнаружил, что в последнее время часто, когда я пытаюсь установить пакет Python с использованием pip, я получаю сообщение об ошибке ниже.
В Интернете я нашел ссылку на то, что нужно использовать "python2 setup.py install" из каталога загрузки, и действительно обнаружил, что это сработает, если я вручную найду и скачу пакет (из pypi).
Но я не знаю, куда pip загружает пакеты и / или почему он не работает таким образом.
Я попытался выполнить обновление pip, но оно также не удалось аналогичным образом, с кучей ошибок "Неизвестная опция распространения" (entry_points, zip_safe, test_suite, tests_require)!
- пип 1.0.1
- ActivePython 2.7
Попытка использовать 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
- Установленный https://www.microsoft.com/en-us/download/details.aspx?id=44266 (компилятор Microsoft Visual C++ для Python 2.7)
Решение (я бы хотел, чтобы кто-то объяснил, почему это сработало)
- попытка
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
, Позвольте мне установить драйверы, которые я хочу после этого
Я также встречаю похожее сообщение об ошибке "Команда '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
обновить версию пипа.