Текущее поведение pip
:
Представьте себе пакет Python spam
.Он имеет три зависимости - пакеты package1
, package2
и package3
.Когда пользователь устанавливает пакет spam
с pip
, ни одна из зависимостей не была установлена пользователем ранее, и, следовательно, все три зависимости также установлены.Когда пользователь удаляет пакет с pip
, удаляется только пакет spam
- его зависимости остаются без изменений.
Интересно, можно ли реализовать другой сценарий:
В данный моменткогда пользователь устанавливает пакет spam
с помощью pip
, пакет package1
уже был установлен пользователем ранее, и, таким образом, устанавливаются только две зависимости.Когда пользователь удаляет пакет с помощью pip
, он может выбрать, удалять ли зависимости, которые были установлены во время установки пакета spam
.То есть package1
уже присутствовал, мы не хотим его удалять, однако package2
и package3
были установлены во время установки spam
, и пользователь может явно сказать: «Я хочу удалить зависимостиэтого пакета, которые были установлены во время установки пакета ".
Мотивация этого заключается в том, что существует пакет Python, который имеет очень много зависимостей, и мне интересно, есть ли какой-нибудь разумный способ позволить пользователю очистить свои зависимости при удалении.