Флаг –upgrade обновляет указанные напрямую пакеты, а –upgrade-strategy решает судьбу их уже установленных зависимостей во время повторного разрешения. Разница заметная.

Начните с only-if-needed

Стратегия по умолчанию поднимает транзитивную зависимость только тогда, когда текущая версия больше не удовлетворяет требованиям обновленного родительского пакета.

python -m pip install --upgrade package_name --upgrade-strategy only-if-needed

Eager расширяет обновление

Режим eager выбирает новые допустимые версии зависимостей даже при совместимости старых, поэтому один прямой апдейт способен заметно изменить окружение и поверхность регресса.

Проверьте будущий набор

Сначала выполните dry-run с JSON-отчетом, сравните версии, затем повторите установку в пустом venv и прогоните тесты до замены рабочего окружения.

Не запускайте eager как бездумное обновление всего проекта, поскольку команда рассматривает зависимости выбранных требований и не заменяет управляемый процесс выпуска.

План покажет pip –dry-run. Поведение стратегий объясняет руководство pip.