Python pip冻结列出已卸载的包

Python pip冻结列出已卸载的包,python,macos,osx-snow-leopard,pip,Python,Macos,Osx Snow Leopard,Pip,在OSX10.6.8上,我使用卸载了一个包(至少pip告诉我) 但当我这么做的时候,包裹仍然会出现 pip freeze 我再次尝试执行上面的卸载命令,pip告诉我该软件包没有安装 这里有什么问题?如何验证包是否已卸载?如果是这样的话,我可以刷新一些pip的索引来纠正它吗 我认为您可能有两个pip二进制文件,当您作为sudo运行时,您的shell首先选择了错误的一个。但是如果在sudo和pip删除包时再次运行它,则没有任何意义。你就是这么做的吗 如果未两次运行相同的命令,则可能会有不同的pip

在OSX10.6.8上,我使用卸载了一个包(至少pip告诉我)

但当我这么做的时候,包裹仍然会出现

pip freeze
我再次尝试执行上面的卸载命令,pip告诉我该软件包没有安装


这里有什么问题?如何验证包是否已卸载?如果是这样的话,我可以刷新一些pip的索引来纠正它吗

我认为您可能有两个
pip
二进制文件,当您作为
sudo
运行时,您的shell首先选择了错误的一个。但是如果在
sudo
pip
删除包时再次运行它,则没有任何意义。你就是这么做的吗

如果未两次运行相同的命令,则可能会有不同的pip二进制文件运行卸载和冻结。检查以下两个命令是否产生相同的输出:

$ sudo pip freeze
# ... sudo output
$ pip freeze
# ... normal output
无论如何,您可以使用以下方法检查是否安装了软件包:

$ python -c 'import pkg_name' &> /dev/null && echo installed || echo not installed

pip中没有任何刷新功能

我也遇到了同样的问题,原因是卸载文件后,自制的符号链接断开

$ pip freeze | grep Magic
Magic-file-extensions==0.2

$ pip uninstall Magic-file-extensions
# say `y` at prompt / see it go through as success

$ pip freeze | grep Magic # still there :(
Magic-file-extensions==0.2

$ ll /usr/local/lib/python2.7/site-packages/ | grep Magic # symlink shows up red
├── [lrwxr-xr-x tomfuert   98 Feb 16 11:06]  Magic_file_extensions-0.2-py2.7.egg-info -> ../../../Cellar/libmagic/5.17/lib/python2.7/site-packages/Magic_file_extensions-0.2-py2.7.egg-info

$ rm /usr/local/lib/python2.7/site-packages/Magic_file_extensions-0.2-py2.7.egg-info

$ pip freeze | grep Magic
# nothing!

如果使用虚拟环境,请尝试使用clean命令。别忘了苏多

sudo pipenv clean

我使用
sudo
和不使用
sudo
运行了
pip freeze
,结果确实不同,在不使用
sudo
的情况下额外增加了三个包。另外,
yolk-l
的输出显示我安装了两个版本的
pip
,旧版本标记为非活动,这与
pip freeze
的不同输出有关吗?如果是,我应该如何纠正这种情况?谢谢据我所知,它与
pip冻结
输出无关。您只是在使用两个不同的
pip
二进制文件。您可以使用绝对路径来消除歧义:/path/to/bin/pip-freeze。使用
which pip
sudo which pip
查找您的
pip
的位置。这也可以在没有虚拟环境的情况下工作。记住先安装pipenv
pip。
sudo pipenv clean