pip WindowsLinuxmacOSPython 3

pip: Как безопасно восстановить окружение из requirements.txt

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

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

Восстановление среды из requirements.txt безопаснее выполнять в новом виртуальном окружении, не изменяя текущие пакеты. Список требований может содержать закреплённые версии, внешние URL и локальные пути — их нужно проверить до запуска установки.

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

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

Восстановление среды из requirements.txt безопаснее выполнять в новом виртуальном окружении, не изменяя текущие пакеты. Список требований может содержать закреплённые версии, внешние URL и локальные пути — их нужно проверить до запуска установки.

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

Возможная причинаКак узнатьЧто делать
В файле версии конфликтуютЗафиксированные пакеты требуют несовместимые зависимости.При установке появляется ResolutionImpossibleРазобрать конфликт на тестовой среде.
Список содержит недоступные или приватные пакетыТребования ссылаются на внешний ресурс или прежнюю машину.pip запрашивает логин, Git URL или путь на чужую машинуУточнить безопасный источник и права.
Снимок создан под другой системойВерсии и нативные зависимости не переносимы без проверки.Нет wheel для нужной версии Python/платформыПодобрать поддерживаемые окружения и сборки.

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

  1. Проверьте файл перед исполнениемОткройте requirements.txt обычным текстовым редактором, просмотрите все строки. Особое внимание уделите --index-url, --extra-index-url, ссылкам git+..., -e, локальным путям и закреплённым версиям. Не устанавливайте зависимости из неизвестного источника: команды из такого файла могут запускать сборочный код.
  1. Определите целевую системуВ терминале машины, на которой будет работать приложение, выполните проверку версии и архитектуры Python. Сравните их с документированными требованиями приложения. Если нужен другой Python, установите его отдельно и не меняйте системный интерпретатор.
    Linux · Терминал (Bash)Команда
    Команда только читает параметры ОС и Python.
    python -c "import sys,platform; print(sys.version); print(platform.system(),platform.machine())"
  1. Создайте чистое окружение рядом с проектомВ папке проекта вызовите python -m venv .venv-restore. Убедитесь, что среда создана и её Python доступен. На Windows путь .venv-restore\Scripts\python.exe, на Linux/macOS — .venv-restore/bin/python. Не перезаписывайте действующее окружение.
    Linux · Терминал (Bash)Команда
    Обычный пользователь. Запускайте выбранным Python соответствующей версии.
    python -m venv .venv-restore
  1. Предварительно проверьте разрешение версийАктивируйте только что созданное окружение и в современных pip выполните dry-run. Команда показывает план, но ещё не выполняет установку. Если у вашей версии pip нет --dry-run, проверьте установку непосредственно в пустой пробной среде.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    В активной .venv-restore; может обращаться к сети и к настройкам индексов, но не устанавливает пакет.
    python -m pip install --dry-run -r requirements.txt
  1. Установите требования через Python нужной средыПри успешном предварительном разборе вызовите установку в .venv-restore. На Linux/macOS используйте команду ниже, в Windows — .\.venv-restore\Scripts\python.exe -m pip install -r requirements.txt. Если установка прервётся, не переключайте приложение на новую среду до устранения причин.
  2. Linux/macOS; изменяет только .venv-restore
    Linux · Терминал (Bash)С осторожностью
    Linux/macOS; изменяет только .venv-restore. Файл требований должен находиться в текущем каталоге.
    ./.venv-restore/bin/python -m pip install -r requirements.txt

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

  1. Проверьте структуру установленных зависимостейВызовите pip check из нового окружения. При корректных метаданных будет No broken requirements found.. Затем запустите минимальный пример из документации приложения и тестовый сценарий с обычными данными; один лишь успех pip не доказывает совместимость API.
  2. Linux/macOS; Windows: .\.venv-restore\Scripts\python.exe -m pip check
    Linux · Терминал (Bash)Команда
    Linux/macOS; Windows: .\.venv-restore\Scripts\python.exe -m pip check.
    ./.venv-restore/bin/python -m pip check
  1. Переключите приложение и сохраните возможность откатаПосле тестов сохраните точный способ запуска с новым Python, перечень установленных версий и исходный requirements.txt. Измените конфигурацию редактора/службы только после проверки и резервной копии; при регрессии верните прежний интерпретатор и сохранённый конфигурационный файл.
  1. Разберите нестандартные проблемы установкиЕсли не найден релиз, проверьте Python и индекс; если Failed building wheel, проверьте сборочные инструменты; если CERTIFICATE_VERIFY_FAILED, исправьте доверие к сертификатам. Не решайте эти проблемы отключением TLS, --no-deps или прав администратора без необходимости.

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

В новой .venv-restore все нужные зависимости доступны, pip check не сообщает конфликтов, а приложение работает на тестовых данных. Старую среду сохраняйте до завершения проверки.

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

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

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

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