Обычный pip freeze скрывает часть служебных packaging-инструментов. Флаг –all возвращает их в снимок.
Зафиксируйте диагностику целиком
Полный вывод полезен при разборе отличий между runner, когда версия самого pip, setuptools или wheel способна повлиять на сборку и установку sdist.
python -m pip freeze --all
Учитывайте версию Python
Документация указывает разные исключения по умолчанию для Python до 3.12 и новых выпусков, поэтому два обычных freeze могут различаться только из-за правил скрытия служебных инструментов в каждой среде.
Не подменяйте управление зависимостями
Freeze перечисляет уже установленное и сортирует имена, но не пересчитывает решение resolver, не объясняет происхождение транзитивных пакетов и не гарантирует доступность файлов.
Храните такой снимок как диагностический артефакт рядом с образом, а авторитетные ограничения обновляйте через контролируемый процесс разрешения и тестирования зависимостей.
Для воспроизводимости нужны хэши requirements. Поведение описывает справочник pip freeze.