Компьютеры · Инструкция
Как запретить pip устанавливать пакеты вне virtualenv
Случайный `pip install` в системный interpreter легко загрязняет окружение. Опция `--require-virtualenv` заставляет pip
Короткий ответ
Используйте глобальную опцию `--require-virtualenv` или настройте соответствующую config. Затем проверьте: вне venv install должен завершаться ошибкой, внутри venv — выполняться.
Что делать
- Проверьте текущий Python: Выполните `python -c "import sys; print(sys.prefix); print(sys.base_prefix)"`.
- Протестируйте флаг: Вне venv запустите безопасную pip-команду с `--require-virtualenv` и убедитесь, что install-путь защищён.
- Создайте venv: Например, `python -m venv .venv`, затем активируйте его.
- Повторите установку: Запустите `python -m pip --require-virtualenv install <package>` внутри venv.
Проверка результата
- Вне venv pip не выполняет защищаемую установку
- Внутри venv команда работает с локальным окружением
Важно
Автоматизируя config, учитывайте системные job/containers, где установка вне venv может быть сознательной частью image build; не включайте policy вслепую глобально.
Что учитывать
Автоматизируя config, учитывайте системные job/containers, где установка вне venv может быть сознательной частью image build; не включайте policy вслепую глобально.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. pip command). Пример и формулировки — редакция N1RO на 2026-09-18.