Режим –require-hashes сравнивает каждый скачанный дистрибутив с контрольной суммой из requirements-файла. Подмена или повреждение остановят установку. Частичной проверки здесь нет.

Зафиксируйте полный набор

Каждая прямая и транзитивная зависимость должна иметь точную версию через == и хотя бы один допустимый хэш, иначе pip завершит работу ошибкой до изменения окружения.

Запустите строгую установку

Один параметр –hash в requirements уже включает режим для всего файла, но явный флаг в CI делает намерение заметным и не дает случайно убрать последнюю контрольную сумму.

python -m pip install --require-hashes -r requirements.txt

Почему хэшей бывает несколько

Один выпуск может иметь отдельные wheels для Windows, Linux и macOS, поэтому общий файл перечисляет несколько SHA-256 и разрешает только заранее проверенные варианты этого релиза.

Несовпадение хэша требует новой проверки источника и артефакта, а не автоматической замены значения в файле после первой неудачной сборки.

Сначала изучите будущий набор через –dry-run и –report. Ограничения режима собраны в руководстве Secure installs.