Режим –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.