Флаг –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.