python setup.py uninstall
我用
如何卸载它?
您需要手动删除所有文件,还需要撤消安装手动执行的任何其他操作。
如果您不知道所有文件的列表,可以使用
要记录已安装文件的列表,可以使用:
1 | python setup.py install --record files.txt |
卸载后,可以使用xargs进行删除:
1 | xargs rm -rf < files.txt |
或者,如果运行的是Windows,请使用PowerShell:
1 | Get-Content files.txt | ForEach-Object {Remove-Item $_ -Recurse -Force} |
然后删除包含目录,如
1 2 3 | >>> import my_module >>> my_module.__file__ None |
一旦删除,python将显示:
1 2 3 4 | >>> import my_module Traceback (most recent call last): File"<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'my_module' |
对我来说,以下主要是可行的:
安装PIP,例如:
1 | $ easy_install pip |
检查,您安装的包如何从PIP的角度命名:
1 | $ pip freeze |
这将列出您安装的所有软件包(以及PIP检测到的软件包)的名称。名称可以是长的,然后只使用在
然后卸载包:
1 | $ pip uninstall package.name.you.have.found |
如果它要求确认移除包裹,那么你是幸运的,它将被移除。
PIP应检测PIP安装的所有包装。它还应检测通过easy-install或setup.py安装的大多数软件包,但这在某些情况下可能会失败。
这是我在MS Windows上使用名为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | $ pip freeze |grep ttr ttr.aws.s3==0.1.1dev ttr.aws.utils.s3==0.3.0 ttr.utcutils==0.1.1dev $ python setup.py develop ..... ..... Finished processing dependencies for ttr.rdstmc==0.0.1dev $ pip freeze |grep ttr ttr.aws.s3==0.1.1dev ttr.aws.utils.s3==0.3.0 -e hg+https://vlcinsky@bitbucket.org/vlcinsky/ttr.rdstmc@d61a9922920c508862602f7f39e496f7b99315f0#egg=ttr.rdstmc-dev ttr.utcutils==0.1.1dev $ pip uninstall ttr.rdstmc Uninstalling ttr.rdstmc: c:\python27\lib\site-packages\ttr.rdstmc.egg-link Proceed (y/n)? y Successfully uninstalled ttr.rdstmc $ pip freeze |grep ttr ttr.aws.s3==0.1.1dev ttr.aws.utils.s3==0.3.0 ttr.utcutils==0.1.1dev |
编辑2015-05-20
上面写的所有内容仍然适用,不管怎样,现在有一些小的修改可用。
在python 2.7.9和python 3.4中安装pip最新的python版本附带了一个包
$python-m ensurepip--升级
在某些系统(如DebianJessie)上,这是不可用的(以防止破坏系统python安装)。
使用上面的例子假设,您已经安装了
答案有问题:
- 不会在Mac上工作。
- 如果安装了包含空格或其他特殊字符的文件字符,
xargs 命令将失败,并删除任何与单个单词匹配的文件/目录。 rm -rf 中的-r 是不必要的,最坏的情况是可以删除你不想。
相反,对于类似Unix的:
1 2 3 4 | sudo python setup.py install --record files.txt # inspect files.txt to make sure it looks ok. Then: tr ' ' '\0' < files.txt | xargs -0 sudo rm -f -- |
对于Windows:
1 2 | python setup.py bdist_wininst dist/foo-1.0.win32.exe |
卸载
https://ofswiki.org/wiki/uninstalling_setup.py_安装
首先记录已安装的文件。即使您以前运行过
1 | python setup.py install --record files.txt |
当您想卸载时,您只需:
1 | sudo rm $(cat files.txt) |
这是因为rm命令需要删除一个空格分隔的文件列表,而您的安装记录就是这样一个列表。
现在,python为您提供了在安装期间安装
1 | pip uninstall package_name |
卸载您不再需要的任何包。在此阅读更多信息(PIP文档)。
懒惰的方法:只需从Windows安装菜单(如果您使用的是Windows)或从RPM命令中卸载,前提是您在创建分发包后首先重新安装它。
例如,
1 2 | python setup.py bdist_wininst dist/foo-1.0.win32.exe |
(当然,"foo"就是一个例子)。
转到python包目录并删除.egg文件,例如。:在python2.5中(ubuntu):/usr/lib/python2.5/site-packages/
在python2.6中(ubuntu):/usr/local/lib/python2.6/dist-packages/
我认为您可以打开setup.py,找到包名,然后让pip卸载它。
假设名称在"metadata"变量中可用:
1 | pip uninstall $(python -c"from setup import METADATA; print METADATA['name']") |
也许你可以选择这样做:
1)获取python版本-
1 2 | [linux machine]# python Python 2.4.3 (#1, Jun 18 2012, 14:38:55) |
->上面的命令给出了当前的python版本2.4.3
2)获取python的安装目录-
1 2 | [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 egg文件。
1 2 | [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 |
这对我有用……我能够卸载困扰我的软件包:)
不完全是回答问题,而是帮助我每天的事情:
安装软件包时
1 | pip install . |
这就把包裹放进了
1 | pip uninstall <package_name> |
在马丁所说的基础上,记录安装输出和一些bash脚本可以很好地完成这个技巧。这就是我要做的……
1 2 3 | for i in $(less install.record); sudo rm $i; done; |
而且很快。卸载。
我在Pycharm中运行过一次
所以我不明白他们为什么使用setup.py而不是写requirements.txt文件。需求文件可以用于在虚拟环境中安装包,并且不会与系统python包混淆。
在过去的某个时候,我在全局环境中意外地运行了"python setup.py install",在卸载时遇到了很大的困难。这些解决方案没有帮助。"pip uninstall"不适用于"can't uninstall"splunk appinspect"。找不到要卸载的文件。"sudo pip uninstall"不起作用"无法卸载要求splunk appinspect,未安装"。我尝试卸载pip,删除pip缓存,在硬盘上搜索包等等。
"pip-show"最终引导我找到了解决方案,"location:"指向一个目录,并重命名该目录,导致包从pip的列表中删除。我重新命名了目录,它没有出现在pip的列表中,现在我可以在virtualenv中重新安装我的包了。
通过使用bash读取命令来删除相关文件可能会更好,如下所示:
1 2 | sudo python setup.py install --record files.txt sudo bash -c"cat files.txt | xargs rm -rf" |