Одноразовое решение:
pip install --user --install-option="--prefix=" <package_name>
или
python setup.py install --user --prefix=
Обратите внимание, что после =
.
Do нет текста (даже пробела). not забудьте флаг --user
.
Установка нескольких пакетов:
Создайте ~/.pydistutils.cfg
(или эквивалент для вашей ОС / платформы) со следующим содержимым:
[install]
prefix=
Обратите внимание, что после =
.
нет текста (даже пробела). Затем выполните необходимые команды pip install --user
или python setup.py install --user
. не забудьте флаг --user
.
Наконец, удалите или переименуйте этот файл.Если оставить этот файл настоящим, это вызовет проблемы при установке пакетов Python для всей системы (т. Е. Без --user
), поскольку этот пользователь с этим ~/.pydistutils.cfg
.
Причина этой проблемы
Появляетсяпроблема с OpenSUSE и RedHat, которая привела к ошибке в virtualenv на этих платформах.
Ошибка связана с файлом конфигурации системного уровня distutils (в моем случае /usr/lib64/python2.6/distutils/distutils.cfg
), где это было
[install]
prefix=/usr/local
По сути, это эквивалентно тому, чтобы всегда запускать команду установки как install --prefix=/usr/local
.Вы должны переопределить эту спецификацию, используя один из методов выше.