Опция –exists-action задает реакцию pip на уже существующий путь при работе с VCS checkout. Решение может удалить данные.

Оставьте abort для CI

Новый runner должен начинать с чистого каталога, поэтому неожиданно занятый путь лучше завершить ошибкой и исследовать, чем автоматически перезаписать неизвестное содержимое.

Понимайте каждое действие

Доступны switch, ignore, wipe, backup и abort, причем wipe удаляет существующее дерево, а backup сохраняет его под другим именем и тоже требует свободного места на файловой системе текущего runner.

python -m pip --exists-action a install -e "sample @ git+https://git.example/repo.git"

Не маскируйте грязный workspace

Если конфликт повторяется, исправьте жизненный цикл checkout или отдельный –src, сохранив лог пути и ревизии вместо постоянного выбора wipe.

Перед switch или wipe сохраните локальные изменения обычными средствами VCS, поскольку pip управляет установкой и не заменяет резервное копирование рабочего дерева.

Подпапку проекта задает fragment subdirectory. Варианты перечисляет общий справочник pip.