Что означает" ошибка: опция --single-version-external-managed not recognized"?
кажется, я внезапно начал сталкиваться с ошибкой error: option --single-version-externally-managed not recognized
, когда pip install
ING varions пакеты (в том числе PyObjC
и astropy
). Я никогда не видел эту ошибку раньше, но теперь она также появляется на сборках travis-ci, для которых ничего не изменилось.
указывает ли эта ошибка на устаревшее распространение? Или какой-то неверно указанный параметр в setup.py
? Или что-то совсем другое?
6 ответов:
Обновление:
установите последнюю версию
setuptools
. Если вы все еще получаете сообщение об ошибке, установитеwheel
Как хорошо.pip install -U setuptools pip install -U wheel
Оригинальный Ответ / Подробнее:
--single-version-externally-managed
- это опция, используемая для пакетов Python, инструктирующая модуль setuptools создавать пакет Python, который при необходимости может легко управляться менеджером пакетов хоста, например Yum или Apt.если вы видите это сообщение, у вас может быть старая версия setuptools или Python. Попробуйте использовать Distribute, который является более новой версией setuptools и обратно совместим. Эти пакеты могут ожидать, что у вас уже есть.
https://pypi.python.org/pypi/distribute
Edit: на данный момент distribute был объединен в main . Просто установите последнюю версию
setuptools
. Как указано в @wynemo, вы можете использовать вместо этого, как это больше подходит для тех, кто выполняет ручную установку, где вы не собираетесь создавать системный пакет для распространения.
у меня была эта проблема. Оказалось, что это была проблема с правами доступа к файлам в моем кеше pip.
Если вы видите сообщение в самом начале вашего вывода pip, как
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
у вас может быть такая же проблема. Вы можете решить это, либо гарантируя, что у вас есть соответствующие разрешения на файл в вашем кэше pip (что-то вроде
chown -R $(whoami) /home/ubuntu/.cache/pip
) или, если вы находитесь в UNIX, вы можете установить местоположение кэша pip с помощьюXDG_CACHE_HOME
env var в какую-то папку, которой вы владеете.