你可以简单地从你的python安装中删除目录,或者是否有任何必须删除的延迟文件?如何卸载使用distutils安装的python软件包?
回答
它根据您传递给install
的选项以及系统/包中的distutils configuration files的内容而有所不同。我不相信任何文件在这些方式指定的目录之外被修改。
值得注意的是,distutils does not have an uninstall command在这个时候。
同样值得注意的是,删除软件包/蛋可能会导致依赖性问题 - 例如easy_install
等实用程序试图缓解此类问题。
如果这是用于测试和/或开发目的,setuptools有一个develop命令,每次更改时都会更新(因此每次更改时都不必卸载并重新安装)。你也可以使用这个命令卸载软件包。
如果你确实使用这个,你声明为脚本的任何内容都将作为延迟文件留下。
是那些获得安装,你将需要删除的三两件事是:
- 封装/模块
- 脚本
- 数据文件
现在我的Linux系统上,这些住在:
- /usr/lib/python2.5/site-包
- 在/ usr/bin中
- 在/ usr /股
但Windows系统,他们更可能Python发布目录中是完全对。我对OSX一无所知,除了它更像是遵循linux模式。
是的,简单地删除distutils安装的任何东西都是安全的。这适用于已安装的文件夹或.egg文件。当然,任何依赖于该代码的东西都不会起作用。
如果您想再次使用它,只需重新安装即可。
顺便说一句,如果你使用distutils也考虑使用多版本功能。它允许您安装任何单个软件包的多个版本。这意味着如果您只想安装较新的版本,则不需要删除旧版本的软件包。
我刚刚卸载了一个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 "[email protected]" -printf '%[email protected] ' -ls | sort -n | cut -d\ -f 2-
(我认为这一定是GNU“查找”,顺便说一句,你在OS X上的味道没有按” t知道“-printf'%T @”)
我使用那个全部的时候。
对于Windows 7,
控制面板 - >程序 - >卸载
,然后
选择Python包删除。
另一个基于时间戳黑客:
- 创建锚:
touch /tmp/ts
- 重新安装程序包被删除:
python setup.py install --prefix=<PREFIX>
- 删除的文件有什么比锚文件更近:
find <PREFIX> -cnewer /tmp/ts | xargs rm -r
在Ubuntu 12.04中,我发现,只需要在默认情况下看的地方是
下/usr/local/lib/python2.7/
只需删除关联的文件夹和文件,如果有的话!
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进行测试。
的Python在Windows中:
python -m pip uninstall "package_keyword"
uninstall **** (y/n)?
- 1. 卸载安装了Curl的软件包
- 2. 如何卸载从* .txt文件安装的pip软件包?
- 3. 如何使用python 3.x distutils来要求和安装软件包?
- 4. 使用pip3卸载Python软件包
- 5. 如何卸载使用“python setup.py develop”安装的Python站点包?
- 6. 如何使用Monkeyrunner卸载软件包?
- 7. 如何使用puppet卸载软件包
- 8. 如何卸载安装了堆栈的Haskell软件包?
- 9. 巧克力:如何重新安装卸载的软件包
- 10. 如何卸载由Pip安装的Python软件包引入的依赖关系?
- 11. 如何从cygwin中未安装卸载mpich2软件包
- 12. 如何卸载使用easy_install安装的软件包的不活动版本
- 13. 如何使用python安装工具安装软件包?
- 14. 如何避免使用distutils覆盖以前的软件包安装
- 15. 从使用pip和distutils setup.py时可能指定artifactory来安装python软件包?
- 16. 即使卸载后如何保留由Advanced Installer软件包安装的字体?
- 17. python Beautifulsoup4软件包安装
- 18. Python安装软件包
- 19. 安装python软件包
- 20. WiX Burn软件包安装程序 - 处理升级和卸载exe软件包
- 21. 如何使用pip安装/卸载特定的python文件夹?
- 22. “Nuget未能安装/卸载选定的软件包”
- 23. python卸载和更新软件包
- 24. Python Pip卸载多个软件包
- 25. 使用厨师卸载软件包
- 26. distutils包的安装目录
- 27. 如何使用pythonbrew安装额外的python软件包
- 28. 如何使用内置的osx python安装软件包?
- 29. Wix安装程序 - 无法卸载perUser软件包
- 30. 如何查找今天安装/卸载的所有软件?
能否请您更新此直接解决问题的挥之不去的文件的一部分? – 2008-12-31 11:26:17
我以为我做过 - 没有文件是由distutils配置和安装标志指定的目录之外创建的,所以任何“延迟”文件都将存在于这些目录中。它因包装而异。 – cdleary 2008-12-31 21:53:50
@cdleary:谢谢,但是,我希望你只是澄清和加强你的答案,而不是添加一个长长的评论线程。 – 2009-01-01 00:37:27