你能简单地从python安装中删除目录,还是有任何你必须删除的遗留文件?
答案 0 :(得分:41)
根据您传递给install
的选项以及系统/包中distutils configuration files的内容而有所不同。我不相信在这些方式指定的目录之外修改任何文件。
值得注意的是,此时distutils does not have an uninstall command。
同样值得注意的是,删除包/ egg可能会导致依赖性问题 - 像easy_install
这样的实用程序会尝试缓解此类问题。
答案 1 :(得分:18)
您需要删除的三件事是:
现在,在我的linux系统中,这些存在于:
但是在Windows系统上,他们更可能完全在Python发布目录中。我不知道OSX,除了它更像是遵循linux模式。
答案 2 :(得分:14)
另一个基于黑客的时间戳:
touch /tmp/ts
python setup.py install --prefix=<PREFIX>
find <PREFIX> -cnewer /tmp/ts | xargs rm -r
答案 3 :(得分:7)
是的,只需删除任何安装了distutil的东西是安全的。这适用于已安装的文件夹或.egg文件。当然,依赖于该代码的任何东西都将无法运行。
如果您想再次使用,只需重新安装即可。
顺便说一句,如果你使用distutils也考虑使用多版本功能。它允许您安装任何单个软件包的多个版本。这意味着如果您只是想安装较新版本,则无需删除旧版本的软件包。
答案 4 :(得分:4)
如果这是出于测试和/或开发目的,setuptools有一个develop命令,每次更改时都会更新(因此您不必每次都卸载并重新安装)变化)。您也可以使用此命令卸载软件包。
如果您使用此功能,那么您声明为脚本的任何内容都将作为延迟文件留下。
答案 5 :(得分:4)
在ubuntu 12.04中,我发现默认情况下你需要查看的唯一地方是
/usr/local/lib/python2.7/
只需删除相关的文件夹和文件,如果有的话!
答案 6 :(得分:4)
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
)
在Python 2.7.6,Ubuntu 14.04中测试。
答案 7 :(得分:3)
对于Windows中的Python:
python -m pip uninstall "package_keyword"
uninstall **** (y/n)?
答案 8 :(得分:2)
我刚刚卸载了一个python包,即使我不是某些我做得非常完美,但我有理由相信。
我首先得到一个所有 python相关文件的列表,按日期排序,假设我的包中的所有文件都有或多或少相同的时间戳,而没有其他文件会。
幸运的是,我已经在/opt/Python-2.6.1
下安装了python;如果我一直在使用我的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-x.x.x_blah-py2.6.egg-info
。
所以我刚刚删除了那些。
以下是我如何获得按日期排序的文件列表:
find "$@" -printf '%T@ ' -ls | sort -n | cut -d\ -f 2-
(顺便说一句,我认为必须是GNU“find”;你在OS X上获得的味道不知道“-printf'%T @'”)
我使用所有时间。
答案 9 :(得分:2)
对于Windows 7,
控制面板 - &gt;程序 - &gt;卸载强>
,然后
选择要删除的python包。
答案 10 :(得分:0)
在Mac OSX上,可以手动删除 pathToPython / site-packages / 下的这两个目录:
例如,删除 pyasn1 ,这是一个distutils安装的项目:
要找出您的站点软件包在哪里:
python -m site
答案 11 :(得分:-1)
ERROR: flake8 3.7.9 has requirement pycodestyle<2.6.0,>=2.5.0, but you'll have pycodestyle 2.3.1 which is incompatible.
ERROR: nuscenes-devkit 1.0.8 has requirement motmetrics<=1.1.3, but you'll have motmetrics 1.2.0 which is incompatible.
Installing collected packages: descartes, future, torch, cachetools, torchvision, flake8-import-order, xmltodict, entrypoints, flake8, motmetrics, nuscenes-devkit
Attempting uninstall: torch
Found existing installation: torch 1.0.0
Uninstalling torch-1.0.0:
Successfully uninstalled torch-1.0.0
Attempting uninstall: torchvision
Found existing installation: torchvision 0.2.1
Uninstalling torchvision-0.2.1:
Successfully uninstalled torchvision-0.2.1
Attempting uninstall: entrypoints
Found existing installation: entrypoints 0.2.3
ERROR: Cannot uninstall 'entrypoints'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
然后我输入:
conda uninstall entrypoints
pip install --upgrade pycodestyle
pip install nuscenes-devkit
完成!