Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pip如何知道卸载什么?_Python_Pip - Fatal编程技术网

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