pip
的当前行为:
想象一个Python软件包spam
。它具有三个依赖性-程序包package1
,package2
和package3
。当用户使用spam
安装软件包pip
时,用户之前没有安装任何依赖项,因此也安装了所有三个依赖项。当用户使用pip
卸载软件包时,仅删除spam
软件包-保持其依赖性。
我想知道是否可以实现另一种方案:
在用户使用spam
安装软件包pip
的那一刻,package1
软件包已由用户较早安装,因此仅安装了两个依赖项。当用户使用pip
卸载软件包时,他可以选择是否删除在安装spam
软件包期间安装的依赖项。也就是说,package1
已经存在,我们不想删除它,但是,package2
和package3
在安装spam
的过程中已经安装,用户可能会明确说:“我要删除在软件包安装期间已安装的此软件包的依赖关系”。
其背后的动机是,有一个Python程序包具有很多依赖关系,我想知道是否有任何聪明的方法允许用户在卸载时清除其依赖关系。
答案 0 :(得分:0)
使用autoremove
代替uninstall
:
pip install pip-autoremove
pip-autoremove spam -y
spam
是您的包裹。