Обычный pip freeze скрывает часть служебных packaging-инструментов. Флаг –all возвращает их в снимок.

Зафиксируйте диагностику целиком

Полный вывод полезен при разборе отличий между runner, когда версия самого pip, setuptools или wheel способна повлиять на сборку и установку sdist.

python -m pip freeze --all

Учитывайте версию Python

Документация указывает разные исключения по умолчанию для Python до 3.12 и новых выпусков, поэтому два обычных freeze могут различаться только из-за правил скрытия служебных инструментов в каждой среде.

Не подменяйте управление зависимостями

Freeze перечисляет уже установленное и сортирует имена, но не пересчитывает решение resolver, не объясняет происхождение транзитивных пакетов и не гарантирует доступность файлов.

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

Для воспроизводимости нужны хэши requirements. Поведение описывает справочник pip freeze.