已存在的情况:CentOS7.3 系统自带Python2.7.5被删除,yum命令抛出 No module named yum
参考链接:https://my.oschina.net/u/1414906/blog/296759
这种情况是指:重新安装或者升级了Python版本,但自带的Python并没有删除。
# 1. 先找一下旧版本的Python的位置, 会返回全部的python位置
➜ ~ whereis python
# 2. 去试验一下, 哪个才是正确的
➜ ~ python2.7 -c "import yum"
# 3. 假设上述正常, 没有报错
➜ ~ vim /usr/bin/yum
# 4. 修改头部
#!/usr/bin/python --> #!/usr/bin/python2.7
# 5. 理论上这样就可以了
➜ ~ cd ~/tmp
➜ ~ wget https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
➜ ~ tar zxvf Python-2.7.5.tgz
➜ ~ cd Python-2.7.5
➜ ~ ./configure # ?? 此处需要添加个 ??
➜ ~ make&&make install
➜ ~
# 先将原来的python备份(如果有的话)
➜ ~ mv /usr/bin/python /usr/bin/python.bak
# 假设python2.7 即为当前安装的版本
➜ ~ ln -s /usr/local/bin/python2.7 /usr/bin/python
# 查看python版本
➜ ~ python --version
# 理论上应该正常
去CentOS的安装光盘或者ISO镜像查找以下文件,需要系统版本一致。
python-2.7.5-48.el7.x86_64.rpm
python-devel-2.7.5-48.el7.x86_64.rpm
python-libs-2.7.5-48.el7.x86_64.rpm
python-urlgrabber-3.10-8.el7.noarch.rpm
yum-3.4.3-150.el7.centos.noarch.rpm
# 查看系统版本
➜ ~ cat /etc/system-release
CentOS Linux release 7.3.1611 (Core)
# 说来也巧,刚好找到了网易的镜像
http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/
# 在这里面搜索上面的那些包就行。找到 wget 下载下来
# 进行升级
➜ ~ rpm -Uvh *.rpm
# 重做yum缓存
➜ ~ yum clean all
➜ ~ yum makecache
# 理论上已经可以正常使用了