Если вам не нужны пакеты python для всех пользователей, вы можете установить их дома:
pip install --user packagename
Установка в вашем доме не будет конфликтовать с менеджером пакетов.
По умолчанию pip install --user
будет установлен в вашем каталоге пользователя сайта. Обычно это что - то вроде: /home/lesmana/.local/lib/python3.6/site-packages
.
Следующая команда напечатает, среди прочего, ваше местоположение "пользовательский сайт":
python -m site
Чтобы настроить место установки:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
это установит все под $HOME/some/dir
бежать:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
См. Руководство по пунктам для получения дополнительной информации.
если вам нужен пакет python для всех пользователей, тогда лучше всего его установить /opt
. например вот так:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(обратите внимание на отсутствие --user
)
и запустить, как указано выше:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
Фоновое объяснение: /opt
дистрибутивы gnu / linux обычно признаются каталогом, в который локальный пользователь или системный администратор может установить свои собственные компоненты. другими словами: менеджер пакетов дистрибутивов обычно не трогает /opt
. это более или менее стандартизировано в стандарте иерархии файловой системы
Для удобства пользователей вы все равно захотите написать скрипт-обертку и поместить его в /bin
или /usr/bin
. Это все еще несет риск столкновения с менеджером дистрибутива, но по крайней мере это всего лишь один файл сценария оболочки. Таким образом, ущерб, который может быть нанесен, минимален. Вы можете назвать скрипт-обертку как-то так local-foo
или иначе, custom-foo
чтобы минимизировать риск столкновения с менеджером дистрибутива.
В качестве альтернативы вы можете изменить, PATH
чтобы включить /opt/bin
и разместить свой скрипт оболочки там. Но это опять-таки требует от вас изменения (или некоторых) системных файлов, в которых они PATH
определены, которые снова могут быть перезаписаны менеджером пакетов распространения.
Короче говоря: если вы хотите установить для всех пользователей, сделайте это в /opt
. То, где вы размещаете скрипт-обертку для комфорта, - это суждение.
Дополнительная информация о /opt
стандарте и иерархии файловых систем: