最近在自己的一台开发机器上需要用到yum,但是遇到了no module name yum的报错,在网上查了大量资料,很长时间都没有解决,十分苦恼。
本质上,yum是用python实现的,如果/usr/bin/yum中配的python地址不能正确import yum的话就会导致上述问题。
网上一般的解决办法是说python版本升级导致了这个问题,只要通过whereis python命令找到yum支持的原有的python版本,2.6也好,2.4也好不同机器不一样,然后修改/usr/bin/yum中关于python的配置即可。但是情况往往没有这么简单,我的机器可能早就没有可支持yum的python的版本了,我尝试了重新安装可能支持的python版本,但是徒劳。如果可以通过前面简单的配置解决的话,可以随便找到一个详细的教程,不在此文讨论范围。
最后干脆直接重新安装python和yum,推倒重来也许是最有效的方法。但是首先需要卸载和删除本机所有的python和yum,注意包括anaconda之类的也要卸载,因为如果不卸载后续可能出现类似rpm: /root/workspace/cxy/anaconda2/lib/liblzma.so.5: version `XZ_5.1.2alpha' not found (required by /lib64/librpmio.so.3)这样的问题。
删除现有的python
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联
whereis python |xargs rm -frv -rf ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令
whereis python ##验证删除,返回无结果