Параметр pip uninstall -r читает имена пакетов из requirements-файла. Можно удалить группу за один запуск.

Подготовьте отдельный список

Для очистки используйте review-файл с конкретными верхнеуровневыми пакетами, а не полный freeze, который содержит транзитивные зависимости и служебные инструменты среды.

python -m pip uninstall -r remove.txt

Просмотрите план до подтверждения

Без -y pip показывает кандидатов и запрашивает согласие, поэтому первый запуск оставляйте интерактивным в тестовом venv и сравнивайте фактические пути каждого distribution перед удалением из целевого образа приложения.

Не ожидайте возврата к чистому состоянию

Операция удаляет перечисленное, но не восстанавливает прежние версии и не вычисляет ненужные остатки, поэтому надежнее пересоздать окружение из авторитетной спецификации.

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

Проверку выполняет pip check. Формат команды описывает документация pip uninstall.