--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
:
Расположение устанавливаемых пакетов зависит от операционной системы:
~/.local/lib/pythonX.Y/site-packages
, где X.Y
- версия Python.%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
все еще может быть полезен для установки утилит, которые должны быть доступны глобально, но вне контекста конкретного проекта.