Почему я должен использовать флаг --user, это хорошая практика? - PullRequest
1 голос
/ 29 марта 2020

Я пытался обновить pip, и в некоторых примерах я видел флаг --user как здесь , указывающий python3 -m pip install - пользователь --upgrade pip , Я никогда не использовал этот флаг раньше, и если бы я использовал его сейчас, что бы он изменил?

Я читаю эту статью с домашней страницы документации pip . Мне до сих пор не ясно, в чем выгода от этого?

Ответы [ 2 ]

1 голос
/ 29 марта 2020

pip по умолчанию устанавливает пакеты Python в системный каталог (например, /usr/local/lib/python3.4). Для этого требуется root доступ.

--user делает вместо этого пакеты pip install в вашем домашнем каталоге, что не требует каких-либо особых привилегий.

Другие подробности

Параметр --user недействителен для каждой команды. Например, pip uninstall найдет и удалит пакеты, где бы они ни были установлены (в папке пользователя, папке виртуальной среды и т. Д. c.), А параметр --user недопустим.

Вещи, установленные с pip install --user будет установлен в локальном каталоге, который будет виден только текущей учетной записи пользователя, и для него не потребуется root доступ (на * nix) или доступ администратора (на Windows).

Опция --user изменяет все pip команды, которые принимают ее для просмотра / работы с папкой установки пользователя, поэтому, если вы используете pip list -- user, она будет только показывать пакеты, установленные с pip install --user.

0 голосов
/ 29 марта 2020

См. документы :

Альтернативная установка: пользовательская схема

Эта схема предназначена для того, чтобы быть наиболее удобным решением для пользователей, которые не иметь разрешение на запись в глобальный каталог site-packages или не хотите устанавливать в него. Он активируется с помощью простой опции:

python setup.py install --user

Относительно «хорошей практики», это зависит. Я лично все устанавливаю в виртуальных средах (используя Poetry), поэтому точный набор пакетов и версий воспроизводим на разных машинах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...