Если вам не нужны пакеты 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
стандарте и иерархии файловых систем:
python
и хотел бы, чтобы я знал это, прежде чемsudio
пиппинг вещи. Спасибо за это.Обычно в дистрибутиве рекомендуется использовать менеджер пакетов дистрибутива. Конечно, вы можете установить вещи с помощью pip (или, в мире perl, cpan), или скомпилировать и установить вещи самостоятельно. Однако, когда вы делаете это, менеджер пакетов дистрибутива не знает о них и не может управлять зависимостями или обновлениями для них.
Использование pip в значительной степени эквивалентно компиляции и установке вашего собственного пакета. Делайте это, если вам нужно, но предпочитайте менеджер пакетов дистрибутива.
источник
pip
(по крайней мере глобально черезsudo
или как root) - я только что получил довольно многоsite-package/...
уже существующих ошибок приpacman
попытке установить некоторые зависимостиПравильный путь для ArchLinux
Правильный способ установки пакетов PYTHON в ArchLinux - это использование PACMAN! Для установки пакетов на Python3 вы должны использовать
Если вы хотите установить пакеты из Python2, вы должны использовать
Большинство пакетов python находятся в репозиториях ArchLinux, а пакеты, которых нет в AUR (пользовательские репозитории ArchLinux) - для этих пакетов вам нужно скачать файл PKGBUILD и скомпилировать. После этого вы должны использовать PACMAN для завершения установки
Второй правильный путь для ArchLinux
Когда пакет не находится в AUR или PKGBUILD не работает, вы можете использовать PIP для его установки на Python3
или Python2
Вы могли бы дать шанс
virtualenv
или дажеconda
На Arch вы также можете использовать VirtualEnvironments. Это может принести переносимость вашего кода и поддерживать старые пакеты. Установите его с
и попробуй это
При создании этой среды
yourenv
вы будетеpip
устанавливать пакеты только в эту среду, а не на всю систему.Эти другие ссылки могут быть полезны, если вы хотите узнать больше об управлении пакетами в Linux с помощью
conda
илиvirtualenv
:Установка пакетов Python из ноутбука Jupyter
Код Python на ArchLinux
Если вы будете следовать этим правилам, ваш ArchLinux не сломается и не будет проблем с зависимостями между PACMAN и PIP.
Надеюсь, это полезно!
источник
Для определенных пакетов (которые я, скорее всего, не хочу взламывать) я создаю свой собственный пакет, используя это:
https://github.com/bluepeppers/pip2arch
затем соберите и установите PKGBUILD.
Я оставляю virtualenvs для пакетов, которые я могу захотеть изменить или взломать.
источник
В дополнение к другим ответам здесь, проверить
python-virtualenv
пакет. Это может быть очень полезно, если вы разрабатываете несколько проектов с разными зависимостями с несовпадающими номерами версий.https://wiki.archlinux.org/index.php/Python_VirtualEnv
Также помните, что есть два варианта pip и virtualenv. Один для Python 2 и один для Python 3. Если установка не удалась с синтаксической ошибкой, возможно, вы пытаетесь использовать неправильную версию.
источник