Python pip如何知道卸载什么?
假设您安装了一个软件包Python pip如何知道卸载什么?,python,pip,Python,Pip,假设您安装了一个软件包foo 现在您正在用pip卸载foo pip卸载foo的具体功能是什么? 它怎么知道要这么做 它只是从Python包目录中删除foo文件夹及其鸡蛋吗?(+任何相关依赖项) 或者,pip卸载是否有时会做更多的事情? 也许包作者提供了一个uninstall.py文件 我明白,如果我想确保卸载Python软件包,我可以运行: python setup.py install --record files.txt 安装软件包时,请删除files.txt中的所有文件 pip基本上就
foo
现在您正在用pip卸载
foo
pip卸载foo的具体功能是什么?
它怎么知道要这么做
它只是从Python包目录中删除foo
文件夹及其鸡蛋吗?(+任何相关依赖项)
或者,pip卸载是否有时会做更多的事情?
也许包作者提供了一个uninstall.py文件
我明白,如果我想确保卸载Python软件包,我可以运行:
python setup.py install --record files.txt
安装软件包时,请删除files.txt
中的所有文件
pip基本上就是这样做的:跟踪安装过程中创建的文件并将其删除?还有什么比这更重要的呢
pip基本上就是这样做的:跟踪安装过程中创建的文件并将其删除
对
还有什么比这更重要的呢
如果成功删除了所有记录的文件,则pip卸载将删除程序包目录和相应的.dist info
目录(其中存储了元数据,包括程序包中的文件列表)
就这些。故事的结尾
pip基本上就是这样做的:跟踪安装过程中创建的文件并将其删除
这里有一个细节:pip uninstall x
将卸载x
软件包,但如果之前必须安装其他依赖项,这些依赖项将保留,因为它不会检查x
使用的依赖项是否仍被其他软件包使用。他们总是呆在那里,这有时会有点烦人。Pip只是在文件中的每个包上运行uninstall
。@jammydoger卸载命令做什么?它怎么知道这样做?这就是我所缺少的。pip中的每个包都有一个标准名称,所以它知道要安装哪个/uninstall@KostasCharitidis我的问题措辞一定很糟糕。我不是问pip如何知道要卸载哪个包,我是问你何时告诉它卸载包foo,它做什么,它如何知道这样做?它只是从系统包目录中删除foo文件夹和eggs吗?@yathatgarwal是的,它从Lib\site packages