Как использовать опцию `--user` для установки библиотек только для текущего пользователя?

Используйте опцию --user с командой pip install для установки пакетов Python в домашнюю директорию пользователя, а не в системную. Например:
pip install --user <имя_пакета>
Это позволяет устанавливать библиотеки без прав администратора и избежать конфликтов с системными пакетами. Установленные библиотеки будут доступны только для текущего пользователя. Убедитесь, что домашняя директория пользователя включена в PYTHONPATH (обычно это делается автоматически).

Опция --user при использовании с pip (менеджером пакетов Python) позволяет установить Python-пакеты в директорию, специфичную для текущего пользователя, вместо глобальной системной директории, требующей прав администратора.

Когда использовать --user:

  • Когда у вас нет прав администратора на компьютере, где нужно установить пакет.
  • Когда вы хотите изолировать пакеты для каждого пользователя на одном и том же компьютере. Это предотвращает конфликты между различными версиями одного и того же пакета, которые могут потребоваться разным пользователям или проектам.
  • Когда вы работаете в виртуальном окружении, но хотите глобально установить пакет, доступный за пределами текущего виртуального окружения (хотя использование виртуальных окружений обычно предпочтительнее для изоляции проектов).

Как использовать:

Просто добавьте --user в команду pip install:

pip install --user <имя_пакета>

Например, чтобы установить библиотеку requests для текущего пользователя, выполните:

pip install --user requests

Куда устанавливаются пакеты с опцией --user:

Расположение устанавливаемых пакетов зависит от операционной системы:

  • Linux/macOS: ~/.local/lib/pythonX.Y/site-packages, где X.Y - версия Python.
  • Windows: %APPDATA%\Python\PythonXY\site-packages, где XY - версия Python. (Как правило, это C:\Users\<имя_пользователя>\AppData\Roaming\Python\Python39\site-packages или подобное).

Добавление каталога пакетов в PYTHONPATH (если необходимо):

После установки пакетов с --user, Python может не найти их автоматически. В этом случае необходимо добавить каталог установки пакетов в переменную окружения PYTHONPATH. (Обычно это не требуется для современных установок Python, т.к. pip сам это делает).

На Linux/macOS это можно сделать, добавив следующую строку в ваш файл ~/.bashrc, ~/.zshrc или аналогичный файл для вашей оболочки (замените X.Y на вашу версию Python):

export PYTHONPATH=$HOME/.local/lib/pythonX.Y/site-packages:$PYTHONPATH

На Windows необходимо изменить переменную окружения PYTHONPATH в настройках системы.

После изменения PYTHONPATH перезапустите терминал или обновите переменные окружения, чтобы изменения вступили в силу.

Альтернатива: Виртуальные окружения

Хотя --user полезен в определенных ситуациях, рекомендуется использовать виртуальные окружения (venv или virtualenv) для управления зависимостями проектов. Виртуальные окружения обеспечивают полную изоляцию проектов, что делает их предпочтительным способом управления Python-пакетами. --user все еще может быть полезен для установки утилит, которые должны быть доступны глобально, но вне контекста конкретного проекта.

0