pip WindowsLinuxmacOSPython 3

pip: pip устанавливает пакет глобально вместо виртуального окружения

  • Обновлено
  • Чтение ≈ 2 минуты

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

Пакет ставится в глобальный Python, хотя ожидалось виртуальное окружение. Такой сбой возникает, когда активировано не то окружение, терминал создан заново или команда pip принадлежит глобальной установке.

В этой статье
  1. Что происходит и когда возникает ошибка
  2. Причины и признаки
  3. Подробная диагностика и исправление
  4. Проверка результата и действия при неуспехе

#Что происходит и когда возникает ошибка

Пакет ставится в глобальный Python, хотя ожидалось виртуальное окружение. Такой сбой возникает, когда активировано не то окружение, терминал создан заново или команда pip принадлежит глобальной установке.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Виртуальная среда не активнаТекущий Python не из venv.sys.prefix == sys.base_prefixАктивировать нужную среду либо указать путь.
Вызывается глобальный pippip из PATH не совпадает с активным Python.pip --version указывает на каталог вне .venvВызывать python -m pip из среды.
Запуск в редакторе отличается от терминалаРедактор выбирает собственный интерпретатор.Из IDE модуля нет, в терминале естьПоменять настройку запуска проекта.

#Подробная диагностика и исправление

  1. Сначала выясните, куда уже попал пакетНе удаляйте пакет из системы: он может быть нужен другим программам. Запишите результат pip show и полный путь к исполняемому Python. Если Location ведёт в системный site-packages, установка действительно была глобальной.
  2. Команды только чтения, выполняются в том же терминале, где шла установка
    Linux · Терминал (Bash)Команда
    Команды только чтения, выполняются в том же терминале, где шла установка.
    python -m pip show ИМЯ_ПАКЕТА
    python -c "import sys; print(sys.executable, sys.prefix, sys.base_prefix)"
  1. Найдите ожидаемую .venvВ файловом менеджере проекта проверьте наличие .venv и файла pyvenv.cfg внутри неё. Папка может называться по-другому; если её нет, создайте окружение в каталоге проекта через python -m venv .venv после выбора правильной базовой версии Python.
  1. Установите через явный путь к Python окруженияВ Linux/macOS выполните команду из корня проекта. В Windows используйте .\.venv\Scripts\python.exe -m pip install ИМЯ_ПАКЕТА. Не добавляйте --user: пользовательские установки не заменяют изолированное окружение.
  2. Linux/macOS; обычные права; пакет может обновить зависимости только внутри .venv
    Linux · Терминал (Bash)С осторожностью
    Linux/macOS; обычные права; пакет может обновить зависимости только внутри .venv.
    ./.venv/bin/python -m pip install ИМЯ_ПАКЕТА

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. Подтвердите расположение и версиюВ Linux/macOS проверьте ./.venv/bin/python -m pip show ...; у Location: должен быть путь внутри .venv. Если пакета нет, проверьте ошибку установки. На Windows используйте .venv\Scripts\python.exe.
  2. Установка и проверка запускаются одним исполняемым файлом
    Linux · Терминал (Bash)Команда
    Установка и проверка запускаются одним исполняемым файлом.
    ./.venv/bin/python -m pip show ИМЯ_ПАКЕТА
  1. Исправьте рабочие командыВ скриптах запуска, контейнере, IDE и задачах используйте путь к Python окружения. Если нужна активация, выполните её в каждом новом окне терминала. Кнопка запуска редактора может не наследовать активированную консоль.
  1. Если системный пакет уже установлен, оцените зависимых пользователейУдаление системной копии может поломать утилиты, поэтому не выполняйте sudo pip uninstall. Если глобальная установка всё же была ошибкой, составьте перечень зависимых программ и согласуйте очистку с администратором; для решения основной задачи достаточно правильно установленной .venv.

#Проверка результата и действия при неуспехе

Команда pip show через Python окружения показывает .venv, а приложение под тем же Python импортирует пакет.

Если исправление не помогло, вернитесь к точному сообщению об ошибке, сохраните версию Python, адрес целевого окружения и очищенный от секретов журнал; выясните, на каком шаге результат отличается от ожидаемого. Не изменяйте глобальный Python ради устранения сбоя проекта.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.