我正在尝试删除并再次安装一个包,'python-keystoneclient'使用pip
。问题是,当我运行pip uninstall python-keystoneclient
时,它显示成功卸载:
root@openstack1:~/cinder# pip uninstall python-keystoneclient
Uninstalling python-keystoneclient:
Proceed (y/n)? y
Successfully uninstalled python-keystoneclient
,但当我做一个pip search python-keystoneclient
,它显示:
root@openstack1:~/cinder# pip search python-keystoneclient
python-keystoneclient - Client library for OpenStack Identity API
(Keystone)
INSTALLED: 0.2.1 (latest)
我已经尝试再次安装软件包,但它显示requirement already satisfied
。不知道为什么会这样
很可能它是通过PIP不完全知道的包或机制安装在其他地方的。另外,上次我听说pip卸载在简单的情况下工作,但很容易被愚弄,并不是在所有平台上完全一致。
我已经采取了类似
python -c "import sys;import pprint;pprint.pprint(sys.path)"
告诉我python可能在哪里找到它的模块——这将告诉你,如果你做了一些事情,比如在python的系统路径的某个地方留下了一个本地目录(当我是根并且不注意时,从目录中执行"python setup.py develop"就发生在我身上)。
你也可以用类似的设置询问keystoneclient它是从哪里导入的,你可以用它来查找和删除它:
python -c "import keystoneclient;print keystoneclient.__file__"
必须手动卸载keystone-client。
在我的服务器上,在下
/usr/local/lib/python2.7/dist-packages/python_keystoneclient-0.3.2-py2.7.egg-info
(您的服务器上可能有不同的版本号)您可以找到一个
installed-files.txt
文件,它记录了keystone-client安装的所有文件。然后,删除它们和dist-packages中的相关目录。
cat installed-files.txt | xargs sudo rm -rf
cd ..
sudo rm -rf keystoneclient python_keystoneclient-0.3.2-py2.7.egg-info
现在,keystoneclient已经完全卸载。