卸载pip包及其唯一依赖项

18

如何干净地卸载仅由pip安装的包及其使用的所有依赖项(即不与其他包共享)?

1个回答

19

pip本身不支持删除未使用的依赖项。 这个 是由pip开发人员提出的相关讨论。

你可以考虑以下几种选项:

  1. 有一个包叫pip-autoremove,但是它已经不再维护了,所以你不能确定它是否有效,应该谨慎使用。

  2. 还有一个叫pipdeptree 的包,它可以显示已安装软件包的依赖关系树。查看依赖关系树并决定哪些可以安全地删除。

  3. 我通常会在虚拟环境中工作,并为每个环境编写一个requirements.txt文件。当我想要删除一个软件包时,我将其从requirements.txt中移除,并完全删除虚拟环境。然后我用pip install -r requirements.txt重新创建环境。


"pipdeptree" 看起来是三个选择中最有趣的。我会进一步调查。谢谢。 - Vishal
1
一般来说:使用虚拟环境并每隔几周从头开始重新创建它们也不是一个坏主意。我建议保留最新的 pip freeze 工作输出,以防在更新虚拟环境后项目出现故障。 - gelonida
3
说实话,Python 的依赖管理很糟糕。我还没有找到一个合法的依赖管理器。 - MuhsinFatih

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接