跟踪 Python 包的已安装依赖项以进行卸载



pip的当前行为:

想象一个 Python 包spam.它有三个依赖项 - 包package1package2package3。当用户spampip安装包时,用户之前没有安装任何依赖项,因此也安装了所有三个依赖项。当用户使用pip卸载包时,只会删除spam包 - 其依赖项保持不变。

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

在用户安装软件包spampip的那一刻,package1软件包已经被用户之前安装过,因此只安装了两个依赖项。当用户使用pip卸载软件包时,他可以选择是否删除在安装spam软件包期间已安装的依赖项。也就是说,package1已经存在,我们不想删除它,但是,package2package3在安装spam期间已经安装,用户可以明确地说:"我想删除在软件包安装过程中已安装的此软件包的依赖项"。

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

使用autoremove而不是uninstall

pip install pip-autoremove
pip-autoremove spam -y

spam是您的包裹。

最新更新