跟踪要卸载的Python软件包的已安装依赖项

时间:2018-10-04 10:06:34

标签: python pip package dependency-management

pip的当前行为:

想象一个Python软件包spam。它具有三个依赖性-程序包package1package2package3。当用户使用spam安装软件包pip时,用户之前没有安装任何依赖项,因此也安装了所有三个依赖项。当用户使用pip卸载软件包时,仅删除spam软件包-保持其依赖性。

我想知道是否可以实现另一种方案:

在用户使用spam安装软件包pip的那一刻,package1软件包已由用户较早安装,因此仅安装了两个依赖项。当用户使用pip卸载软件包时,他可以选择是否删除在安装spam软件包期间安装的依赖项。也就是说,package1已经存在,我们不想删除它,但是,package2package3在安装spam的过程中已经安装,用户可能会明确说:“我要删除在软件包安装期间已安装的此软件包的依赖关系”。

其背后的动机是,有一个Python程序包具有很多依赖关系,我想知道是否有任何聪明的方法允许用户在卸载时清除其依赖关系。

1 个答案:

答案 0 :(得分:0)

使用autoremove代替uninstall

pip install pip-autoremove
pip-autoremove spam -y

spam是您的包裹。