如何卸载使用distutils安装的python包?
您可以简单地从python安装中删除目录,或者是否有任何必须删除的延迟文件?这取决于传递给如何卸载使用distutils安装的python包?,python,Python,您可以简单地从python安装中删除目录,或者是否有任何必须删除的延迟文件?这取决于传递给安装的选项以及系统/软件包中的内容。我不相信任何文件会在这些方式指定的目录之外被修改 值得注意的是,在这个时候 另外值得注意的是,删除包/egg可能会导致依赖性问题,如试图缓解此类问题的实用程序。如果这是出于测试和/或开发目的,则有一个命令可以在每次进行更改时更新(因此不必在每次进行更改时卸载和重新安装)。您也可以使用此命令卸载软件包 如果使用此选项,则声明为脚本的任何内容都将作为一个延迟文件保留。安装后需
安装的选项以及系统/软件包中的内容。我不相信任何文件会在这些方式指定的目录之外被修改
值得注意的是,在这个时候
另外值得注意的是,删除包/egg可能会导致依赖性问题,如试图缓解此类问题的实用程序。如果这是出于测试和/或开发目的,则有一个命令可以在每次进行更改时更新(因此不必在每次进行更改时卸载和重新安装)。您也可以使用此命令卸载软件包
如果使用此选项,则声明为脚本的任何内容都将作为一个延迟文件保留。安装后需要删除的三项内容是:
软件包/模块
剧本
数据文件
现在,在我的linux系统上,这些都存在于:
/usr/lib/python2.5/site-packages
/usr/bin
/usr/股份
但在windows系统上,它们更可能完全位于Python分发目录中。我对OSX一无所知,只是它更像是遵循linux模式。是的,简单地删除distutils安装的任何东西都是安全的。这适用于已安装的文件夹或.egg文件。当然,任何依赖于该代码的东西都将不再工作
如果您想让它再次工作,只需重新安装
顺便说一下,如果你使用ditudil也考虑使用多版本特性。它允许您安装任何单个软件包的多个版本。这意味着,如果您只想安装一个较新的版本,就不需要删除旧版本的软件包。我刚刚卸载了一个python软件包,尽管我不确定我是否做到了完美,但我有足够的信心
我首先得到一个所有python相关文件的列表,按日期排序,假设包中的所有文件都或多或少具有相同的时间戳,而没有其他文件具有相同的时间戳
幸运的是,我已经在/opt/python-2.6.1
下安装了python;如果我一直在使用Linux发行版附带的Python,我将不得不搜索所有/usr
,这将花费很长时间
然后我检查了一下这个列表,轻松地注意到我想使用nuke的所有东西都由一个目录组成,/opt/Python-2.6.1/lib/python2.6/site packages/module name/
,还有一个文件,/opt/Python-2.6.1/lib/python2.6/site packages/module-x.x_blah-py2.6.egg info
所以我删除了那些
以下是我如何获得文件的日期排序列表:
find“$@”-printf'%T@'-ls | sort-n | cut-d \-f2-
(顺便说一句,我想那一定是GNU“find”;你在OSX上得到的味道并不知道“-printf'%t@'))
我一直在使用它。对于Windows 7
控制面板-->程序-->卸载
那么
选择要删除的python包。另一种基于时间戳的黑客攻击:
创建锚定:touch/tmp/ts
重新安装要删除的软件包:python setup.py install--prefix=
删除比锚文件更新的文件:find-cnewer/tmp/ts | xargs rm-r
在Ubuntu12.04中,我发现默认情况下唯一需要查看的地方是
/usr/local/lib/python2.7/
只要删除关联的文件夹和文件(如果有的话) 安装--录制+xargs rm
sudo python setup.py install --record files.txt
xargs sudo rm -rf < files.txt
在Python 2.7.6和Ubuntu 14.04中测试。在Windows中使用Python:
python -m pip uninstall "package_keyword"
uninstall **** (y/n)?
在Mac OSX上,手动删除pathToPython/site软件包下的这两个目录/将起作用:
- {packageName}
- {packageName}-{version}-info
例如,要删除作为distutils安装项目的pyasn1,请执行以下操作:
- rm-rf lib/python2.7/site-packages/pyasn1
- rm-rf lib/python2.7/site-packages/pyasn1-0.1.9-py2.7.egg-info
要了解网站包的位置,请执行以下操作:
python -m site
错误:flake8 3.7.9的要求pycodestyle=2.5.0,但您的pycodestyle 2.3.1不兼容。
错误:nuscenes devkit 1.0.8有要求MotMetrics能否请您更新此文件以直接解决问题中的延迟文件部分?我想是的--在distutils配置和安装标志指定的目录之外不会创建任何文件,因此这些目录中将存在任何“延迟”文件。每个包的内容都不同。@cdleary:谢谢,但是,我希望你能简单地澄清和强化你的答案,而不是添加一条长长的评论线索。@S.Lott:对不起,我不知道你想澄清答案的哪一部分--你能说得更具体些吗?日期:2011-07-04 14:35 distutils2/packaging现在提供了删除功能和pysetup remove命令。@Mauricio我在列表中没有看到旧版本,但我可以在站点包中看到egg文件。这是个问题吗?在Windows 10上为我工作。我不喜欢| xargsrm-r
。我建议手动检查每个文件。在ext4(和其他文件系统)上,这个find
也将列出所有文件夹。如果您的前缀是/usr
,您将删除/usr/*
。工作正常。有时在/usr/lib/python中,请尝试解释您正在执行的操作以及原因,而不是仅显示控制台输出。如果使用distutils安装包,则无法工作。
python -m site