之前由于不懂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.如果安装过程中遇到了其他问题,请自行根据提示信息解决,不行再去百度,因为这个东西,每个人的情况确实都不同。

终极解决方案之——Centos7由于误删或更新python导致 No module named yum的更多相关文章

  1. Python- 【python无法更新pip】提示python.exe: No module named pip

    用Anaconda安装的python 版本无法更新pip导致不能安装第三方库: 用Anaconda Prompt安装第三方库: python -m pip install --upgrade pip ...

  2. CentOS更新Python版本,同时修复yum不能使用的问题

    转自:Li_Hanx博客 遇到问题,需要更新python,网上找了好多都不能顺利更新,找到这位大佬的这篇博客,写的非常好,分享给大家. 发现一个新办法,那就是直接安装另一个版本的Python,比如Py ...

  3. centos7中python3.6报错ModuleNotFoundError: No module named '_ssl' 或者 Max retries exceeded with url: / (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",))

    如果在运行爬虫时报此错:requests.exceptions.SSLError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max r ...

  4. centos7下执行firewall-cmd显示ImportError: No module named 'gi'

    centos7 安装tomcat 及问题处理(No module named 'gi')(Job for firewalld.service failed because the control) 2 ...

  5. centos7 ModuleNotFoundError: No module named 'users'

    centos7下运行django项目时ModuleNotFoundError: No module named 'users' 由于我的项目目录是下面这样: 因为找不到users的路径 所以在mana ...

  6. Sqlite && EF Code FIRST 终极解决方案 2019.5.17

    Sqlite && EF Code FIRST 终极解决方案 2019.5.17 包括根据模型自动生成数据库,初始化数据,模型改变时的自动数据迁移等 2019.12.25 更新 支持E ...

  7. Eclipse不自动编译java文件的终极解决方案

    最近我的eclipse经常犯傻,项目中总是有很多,启动项目也是没有启动类.查了下项目中生成的class文件,我靠竟然没有,或者还是以前的.原来是eclipse犯傻了,它没帮我自动编译java文件.一般 ...

  8. 【转】JSP中文乱码问题终极解决方案

    原文地址:http://blog.csdn.net/beijiguangyong/article/details/7414247 在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的 ...

  9. Xcode-调试断点不能停在代码区终极解决方案

    转发 调试断点不能停在代码区终极解决方案:  http://mobile.51cto.com/iphone-390082.htm

随机推荐

  1. Java线程知识

    概念 线程生命周期 Java线程模型 线程方法 线程优先级 线程同步 线程在多任务处理应用程序中有着至关重要的作用 概念 基本概念 进程:在操作系统中每个独立运行的程序就是一个进程 线程:程序执行的一 ...

  2. 由uploadfive看servlet

    一.uploadfive的使用 上传工具是程序设计中最常用的功能,其中,uploadfive插件使用比较多,此处该插件进行文件的上传操作.该插件是基于HTML5的,因此PC端和移动端都可以使用. 使用 ...

  3. C++走向远洋——67(项目二、洗牌)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  4. USB小白学习之路(5) HID鼠标程序

    HID鼠标程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2 ...

  5. 挖SRC逻辑漏洞心得分享

    文章来源i春秋 白帽子挖洞的道路还漫长的很,老司机岂非一日一年能炼成的. 本文多处引用了 YSRC 的 公(qi)开(yin)漏(ji)洞(qiao).挖SRC思路一定要广!!!!漏洞不会仅限于SQL ...

  6. 前端---css3优化

    一.视差滚动(经过优化后的代码) .front::before { content: ''; position: fixed; // 代替background-attachment width: 10 ...

  7. git删除远程仓库中的文件夹

    具体操作如下: git rm -r --cached .history    #删除目录 git commit -m”删除.history文件夹” git push -r表示递归所有子目录,如果你要删 ...

  8. python学习的新篇章--面向对象

    面向对象的学习笔记   关键要素: 类:class 用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法.   数据成员: 类的不同属性数据   对象: 类的一个实例 ...

  9. 网络|N1盒子做旁路由刷OpenWRT系统(小白专用)

    N1盒子做旁路由刷OpenWRT系统(小白专用) 为什么要用N1盒子 现如今新上市的路由器,市面上能买到的300元以内的路由器大多数都是双频(5G Hz和2.4G Hz)和几年前相比无论是速度还是性能 ...

  10. CouchDB的简单使用

    一.安装CouchDB 到官网下载CouchDB,在windows下安装CouchDB较为简单,略过. 安装完后,确认CouchDB在运行,然后在浏览器访问http://127.0.0.1:5984/ ...