如何卸载使用distutils安装的python软件包?

你能简单地删除你的python安装目录,或者是否有任何必须删除的延迟文件?

它根据您传递的install选项以及软件包中system / distutilsconfiguration文件的内容而有所不同。 我不相信在这些方式指定的目录之外修改任何文件。

值得注意的是, distutils目前没有卸载命令 。

同样值得注意的是,删除软件包/ egg可能会导致依赖性问题 – easy_install等实用程序会尝试缓解这些问题。

你需要删除的三件事情是:

  1. 封装/模块
  2. 脚本
  3. 数据文件

现在在我的Linux系统上,这些生活在:

  1. /usr/lib/python2.5/site-packages
  2. 在/ usr / bin中
  3. 在/ usr /股

但在Windows系统中,它们更可能完全位于Python分发目录中。 我不知道有关OSX,除了它更像是遵循Linux模式。

另一个时间戳为基础的黑客:

  1. 创build一个锚点: touch /tmp/ts
  2. 重新安装要删除的软件包: python setup.py install --prefix=<PREFIX>
  3. 删除比定位文件更新的文件: find <PREFIX> -cnewer /tmp/ts | xargs rm -r find <PREFIX> -cnewer /tmp/ts | xargs rm -r

是的,简单地删除distutils安装的任何东西是安全的。 这适用于已安装的文件夹或.egg文件。 当然,任何依赖于该代码的东西都将不再起作用。

如果你想使它重新工作,只需重新安装。

顺便说一句,如果你正在使用distutils也考虑使用多版本function。 它允许您安装任何单个软件包的多个版本。 这意味着如果您只想安装较新的版本,则不需要删除旧版本的软件包。

如果这是为了testing和/或开发目的, setuptools有一个develop命令,每次更改时都会更新(因此,每次更改时都不必卸载并重新安装)。 你也可以使用这个命令卸载软件包。

如果你确实使用了这个,那么你声明为脚本的任何东西都会作为一个滞留的文件被留下。

在Ubuntu 12.04中,我发现默认情况下唯一需要查看的地方就在这里

 /usr/local/lib/python2.7/ 

只要删除相关的文件夹和文件,如果有的话!

我只是卸载了一个Python包,虽然我不确定我是否完美,但我相当有信心。

我开始获取所有与datesorting的python相关文件的列表,假定我的包中的所有文件将具有或多或less相同的时间戳,并且不会有其他文件。

幸运的是,我已经安装在/opt/Python-2.6.1下的/opt/Python-2.6.1 ; 如果我一直在使用我的Linux发行版附带的Python,那么我将不得不冲刷/usr ,这需要很长时间。

然后我只是查看了这个列表,然后松了口气,我想要的所有东西都包含在一个目录/opt/Python-2.6.1/lib/python2.6/site-packages/module-name/ ,一个文件/opt/Python-2.6.1/lib/python2.6/site-packages/module-xxx_blah-py2.6.egg-info

所以我刚刚删除这些。

以下是我如何得到datesorting的文件列表:

find "$@" -printf '%T@ ' -ls | sort -n | cut -d\ -f 2-

(顺便说一下,我认为这应该是GNU“find”;你在OS X上的风格不知道“-printf'%T @'”)

一直在用。

对于Windows 7,

控制面板 – >程序 – >卸载

, 然后

select要删除的python包。

install --record + xargs rm

 sudo python setup.py install --record files.txt xargs sudo rm -rf < files.txt 

删除所有文件,但留下空目录。

这并不理想,应该足以避免包装冲突。

然后,您可以通过阅读files.txt手动完成作业,或者更灵活并自动执行空目录删除。

一个安全的帮手将是:

 python-setup-uninstall() ( sudo rm -f files.txt sudo python setup.py install --record files.txt && \ xargs rm -rf < files.txt sudo rm -f files.txt ) 

testing在Python 2.7.6,Ubuntu 14.04。

对于Windows中的Python:

 python -m pip uninstall "package_keyword" uninstall **** (y/n)?