Отслеживание установленных зависимостей пакета Python для удаления - PullRequest
0 голосов
/ 04 октября 2018

Текущее поведение pip:

Представьте себе пакет Python spam.Он имеет три зависимости - пакеты package1, package2 и package3.Когда пользователь устанавливает пакет spam с pip, ни одна из зависимостей не была установлена ​​пользователем ранее, и, следовательно, все три зависимости также установлены.Когда пользователь удаляет пакет с pip, удаляется только пакет spam - его зависимости остаются без изменений.

Интересно, можно ли реализовать другой сценарий:

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

Мотивация этого заключается в том, что существует пакет Python, который имеет очень много зависимостей, и мне интересно, есть ли какой-нибудь разумный способ позволить пользователю очистить свои зависимости при удалении.

1 Ответ

0 голосов
/ 04 октября 2018

Используйте autoremove вместо uninstall:

pip install pip-autoremove
pip-autoremove spam -y

Где spam - ваш пакет.

...