pip如何知道要卸载什么?

时间:2019-08-27 11:11:14

标签: python pip

假设您安装了软件包foo
现在,您正在使用pip卸载foo

pip uninstall foo到底是做什么的?
它怎么知道要这么做?

是否只是从Python软件包目录中删除foo文件夹及其鸡蛋? (+任何相关的依赖项)

还是pip uninstall有时做得更多?
也许软件包作者提供了一个uninstall.py文件。


我了解,如果要确保卸载Python软件包,可以运行:

python setup.py install --record files.txt

在安装软件包时,然后删除files.txt中的所有文件。

从本质上讲,这是什么功能:跟踪安装过程中创建的文件并将其删除?还有什么呢?

2 个答案:

答案 0 :(得分:1)

  

本质上是pip的作用:跟踪安装过程中创建的文件并将其删除吗?

是的

  

还有什么呢?

如果已成功删除所有记录的文件,pip uninstall会删除软件包目录和相应的.dist-info目录(在其中存储了包括软件包中文件列表在内的元数据)。

仅此而已。故事的结尾。

答案 1 :(得分:1)

  

本质上是pip的作用:跟踪安装过程中创建的文件并将其删除吗?

这里有一个细节:pip uninstall x将卸载x程序包,但是如果它必须在之前安装其他依赖项,则这些将保留,因为它不会检查{{ 1}}仍被其他软件包使用。他们总是留下来,有时候会有点烦。