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

如何卸载?


当前回答

如果在重新安装包后仍然有应该删除的文件,请确保文件夹构建也被删除。因此,假设pkg是要删除的包:

rm -r $(python3 -c "import pkg; print(pkg.__path__[0] + '*' )") 
rm -rf build

为python3计算并删除包及其*。egg-info文件

其他回答

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

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

和很快。卸载。

偷懒方式:只需从Windows安装菜单(如果您使用的是Windows)或rpm命令卸载,前提是您在创建分发包后首先重新安装它。

例如,

python setup.py bdist_wininst
dist/foo-1.0.win32.exe

(“foo”当然是一个例子)。

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

我想你可以打开setup.py,找到包名,然后让pip卸载它。

假设名称在'METADATA'变量中可用:

pip uninstall $(python -c "from setup import METADATA; print METADATA['name']")

第一条答案有问题:

不会在mac上工作。 如果安装的文件包含空格或其他特殊 字符,xargs命令将失败,并删除任何 匹配单个单词的文件/目录。 rm -rf中的-r是不必要的,在最坏的情况下可能会删除你的东西 我不想。

相反,对于类unix:

sudo python setup.py install --record files.txt
# inspect files.txt to make sure it looks ok. Then:
tr '\n' '\0' < files.txt | xargs -0 sudo rm -f --

对于windows:

python setup.py bdist_wininst
dist/foo-1.0.win32.exe

卸载setup.py install还存在一些无法解决的问题,在典型情况下,这些问题不会困扰您。要获得更完整的答案,请参阅这个wiki页面:

https://ofswiki.org/wiki/Uninstalling_setup.py_install