我已经用python setup.py install安装了一个python包。

如何卸载?


当前回答

我并没有完全回答这个问题,但我每天都在帮助我:

使用

pip install .

这将把包放在$HOME/.local中。卸载与

pip uninstall <package_name>

其他回答

首先记录您已安装的文件。你可以重复这个命令,即使你之前已经运行了setup.py install:

python setup.py install --record files.txt

当你想卸载时,你可以:

sudo rm $(cat files.txt)

这是可行的,因为rm命令接受一个以空格分隔的文件列表来删除,而您的安装记录就是这样一个列表。

我曾经在过去的某个时候不小心在我的全局环境中运行了“python setup.py install”,卸载时遇到了很大的困难。这些解决方案并没有帮助。“pip uninstall”和“不能卸载'splunk-appinspect'”不搭。没有找到要卸载的文件。”“sudo pip uninstall”失败“无法卸载要求splunk-appinspect,未安装”。我尝试卸载pip,删除pip缓存,搜索我的硬盘驱动器的包,等等…

“pip show”最终引导我找到了解决方案,“Location:”指向一个目录,重命名该目录导致打包从pip的列表中删除。我重新命名了目录,它没有重新出现在pip的列表中,现在我可以在virtualenv中重新安装我的包。

我用python setup.py在conda环境下开发了一个开发鸡蛋链接,用pip uninstall <packagename>删除了鸡蛋链接。至少在这种情况下,卸载pip是一种方法。

扩展Martin所说的内容,记录安装输出和一点bash脚本就可以很好地完成这个任务。我是这么做的…

for i in $(less install.record);
sudo rm $i;
done;

和很快。卸载。

使用bash读取命令来删除相关文件可能会更好,如下所示:

sudo python setup.py install --record files.txt
sudo bash -c "cat files.txt | xargs rm -rf"