n1ro°
RU

Компьютеры · Инструкция

Как запретить pip устанавливать пакеты вне virtualenv

Случайный `pip install` в системный interpreter легко загрязняет окружение. Опция `--require-virtualenv` заставляет pip

Редакция N1RO · Проверено

Короткий ответ

Используйте глобальную опцию `--require-virtualenv` или настройте соответствующую config. Затем проверьте: вне venv install должен завершаться ошибкой, внутри venv — выполняться.

Что делать

  1. Проверьте текущий Python: Выполните `python -c "import sys; print(sys.prefix); print(sys.base_prefix)"`.
  2. Протестируйте флаг: Вне venv запустите безопасную pip-команду с `--require-virtualenv` и убедитесь, что install-путь защищён.
  3. Создайте venv: Например, `python -m venv .venv`, затем активируйте его.
  4. Повторите установку: Запустите `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.