我已经用python setup.py install安装了一个python包。
如何卸载?
我已经用python setup.py install安装了一个python包。
如何卸载?
当前回答
我曾经在过去的某个时候不小心在我的全局环境中运行了“python setup.py install”,卸载时遇到了很大的困难。这些解决方案并没有帮助。“pip uninstall”和“不能卸载'splunk-appinspect'”不搭。没有找到要卸载的文件。”“sudo pip uninstall”失败“无法卸载要求splunk-appinspect,未安装”。我尝试卸载pip,删除pip缓存,搜索我的硬盘驱动器的包,等等…
“pip show”最终引导我找到了解决方案,“Location:”指向一个目录,重命名该目录导致打包从pip的列表中删除。我重新命名了目录,它没有重新出现在pip的列表中,现在我可以在virtualenv中重新安装我的包。
其他回答
第一条答案有问题:
不会在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
首先记录您已安装的文件。你可以重复这个命令,即使你之前已经运行了setup.py install:
python setup.py install --record files.txt
当你想卸载时,你可以:
sudo rm $(cat files.txt)
这是可行的,因为rm命令接受一个以空格分隔的文件列表来删除,而您的安装记录就是这样一个列表。
我在我的PyCharm中运行了一次python setup.py install,它将所有的包安装到我的conda基础环境中。稍后当我想删除所有这些包时,pip卸载不起作用。我必须手动从/anaconda3/lib/python3.7/site-packages中删除它们:(
所以我不明白为什么他们使用setup.py而不是编写requirements.txt文件。需求文件可用于在虚拟环境中安装包,不会与系统python包混淆。
也许你可以这样做作为一种替代:-
1)获取python版本-
[linux machine]# python
Python 2.4.3 (#1, Jun 18 2012, 14:38:55)
->上面的命令给出了当前的python版本,即2.4.3
2)获取python -的安装目录
[linux machine]# whereis python
python: /usr/bin/python /usr/bin/python2.4 /usr/lib/python2.4 /usr/local/bin/python2.5 /usr/include/python2.4 /usr/share/man/man1/python.1.gz
->从上面的命令可以得到安装目录为- /usr/lib/python2.4/site-packages
3)从这里你可以删除包和python蛋文件
[linux machine]# cd /usr/lib/python2.4/site-packages
[linux machine]# rm -rf paramiko-1.12.0-py2.4.egg paramiko-1.7.7.1-py2.4.egg paramiko-1.9.0-py2.4.egg
这对我很有效。我能够卸载包,这是困扰我:)
扩展Martin所说的内容,记录安装输出和一点bash脚本就可以很好地完成这个任务。我是这么做的…
for i in $(less install.record);
sudo rm $i;
done;
和很快。卸载。