终极解决方案之——Centos7由于误删或更新python导致 No module named yum
之前由于不懂yum和python之间的关系,因为一直在学python3,看到系统里/usr/lib下的python2我就直接删了,结果。。。
可能还有人是因为python升级的原因,即系统自带的python2还在,但由于升级导致问题,现在就这两个原因提出我的解决方案。
1.由于python升级导致yum无法使用
首先,不同版本的centos自带的python版本不同,没有所谓的到底python2.几才能兼容yum,查看自带python有两种做法
1.which python
一般/usr/bin/python是一个链接,链向/usr/local/bin/python/bin/python,可以通过 ll 查看,故可以直接 ln -sf 系统自带python/bin/python /usr/bin/python 重新链接到系统自带的python即可,如果不更改链接,还可以修改/usr/bin/yum 修改文件第一行为系统自带的python即可。
2.直接查看系统镜像
随便找个提供镜像的源,如http://mirrors.ustc.edu.cn,然后 lsb_release -a 查看系统的发布版本,最后到相应的 Packages目录下,查看python包的版本即可,如我的就是http://mirrors.ustc.edu.cn/centos/7.5.1804/os/x86_64/Packages/,可以查看如下格式的包 python-2.7.5-68.el7.x86_64.rpm
这个rpm包的包名意思就是python包,版本2.7.5,第68次编译,发布商el7,cpu架构64位的。
2.由于误删python,导致yum不可用
对于这个问题,因为很多地方不懂,绕了不少远路,一直靠重装不同版本的python去试,呵呵,so silly
根据不需要你刻意去装个python,你只需要重装一个yum,因为会依赖python,也就顺手把python也装了
具体做法是
1.安装具有如下软件名的包,注意版本号和编译次数参考你具体的镜像源。
rpm -Uvh --replacepkgs python-2.7.5-68.el7.x86_64.rpm
rpm -Uvh --replacepkgs python-devel-2.7.5-68.el7.x86_64.rpm
rpm -Uvh --replacepkgs python-iniparse-0.4-9.el7.noarch.rpm
rpm -Uvh --replacepkgs python-pycurl-7.19.0-19.el7.x86_64.rpm
rpm -Uvh --replacepkgs python-setuptools-0.9.8-7.el7.noarch.rpm
rpm -Uvh --replacepkgs python-urlgrabber-3.10-8.el7.noarch.rpm
rpm -Uvh --replacepkgs rpm-python-4.11.3-32.el7.x86_64.rpm
rpm -Uvh --replacepkgs yum-3.4.3-158.el7.centos.noarch.rpm
rpm -Uvh --replacepkgs yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
rpm -Uvh --replacepkgs yum-NetworkManager-dispatcher-1.1.31-45.el7.noarch.rpm
rpm -Uvh --replacepkgs yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
2.重要事情说三遍
1.先下载,可以使用wget
2.注意安装顺序,如果提示依赖的xxx包不在,则先安它
3.可以采用 -ivh安装,但是偷偷告诉你,如果它提示已安装,你就觉得不用安了,那是扯淡,一定要重新覆盖掉才行,即--replacepkgs
4.如果安装过程中遇到了其他问题,请自行根据提示信息解决,不行再去百度,因为这个东西,每个人的情况确实都不同。
最新文章
- JavaMail和James的秘密花园
- Eclipse快捷键(转)
- Python格式化字符串
- ThinkPHP的cookide保存二维数组的方法
- 9.PHP内核探索:通过mod_php5支持PHP
- 夺命雷公狗---TP商城----TP之样式和特效以及图片引入---2
- BZOJ1029 建筑抢修
- Centos环境下部署游戏服务器-软件安装
- 美国易安信公司 EMC
- android可扩展自己的定义,运动图像裁剪框
- 一张图告诉你移动Web前端所有技术(工程化、预编译、自动化)
- Leetcode 19——Remove Nth Node From End of List
- SPOJ 7001 Visible Lattice Points (莫比乌斯反演)
- nuxt.js实战之window和document对象的使用
- .net实现网易云音乐下载
- PHP脚本命令行执行成功,CRON无法执行故障解决记录
- 【JAVA】异常笔记
- XML--修改XML数据
- C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 03)
- BZOJ2120/洛谷P1903 [国家集训队] 数颜色 [带修改莫队]