网站首页 > 技术文章 正文
写在前面
事情的起因是我昨天在测试Linux安装Python3的shell脚本时,需要卸载Python3重新安装一遍。但是通过如下命令卸载python3时,少写了个3,不小心将系统自带的python2也给删除了。
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps # 卸载python3,带2卸载python2,啥都不带会卸载所有python
whereis python3 |xargs rm -frv # 清除Python3残余文件
后来重新下载了Python2安装后,Python2能用了,但是yum命令又出问题了:
网上搜索了一下,出现这种现象答案几乎都是说是因为升级了python以后,yum与高版本python不兼容导致,解决方法也几乎千篇一律,将/usr/bin/yum文件的首行由#!/usr/bin/python改为#!/usr/bin/python2.7(试了,然并卵,底下评论也都这么说),我的解决方法就是将python2和yum全部卸载,然后重新安装一遍,简单粗暴,好在最后全都正常了,万事大吉!
一、卸载Python2及yum
1.卸载Python2
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps # 卸载Python
whereis python |xargs rm -frv # 删除python所有残余文件
whereis python # 查看是否存在python
python # 进入python解释器环境,若提示“-bash: python: command not found”则说明卸载成功
2.卸载yum
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps # 强制卸载yum
whereis yum |xargs rm -frv # 删除yum残余文件
二、安装python2.7及yum
1.查看系统版本
cat /etc/redhat-release # 我的系统版本是:CentOS Linux release 7.9.2009 (Core)
2.下载版本对应的依赖包
① 创建目录
mkdir /usr/local/src/python-yum
cd /usr/local/src/python-yum
② 下载依赖包
下载地址:
https://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/ 网易云
https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/ 阿里云
【python依赖包】
可能不需要这么多,反正多一个总比少一个好
libxml2-python-2.9.1-6.el7.5.x86_64.rpm
lvm2-python-libs-2.02.187-6.el7.x86_64.rpm
python-2.7.5-89.el7.x86_64.rpm
python-backports-1.0-8.el7.x86_64.rpm
python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
python-chardet-2.2.1-3.el7.noarch.rpm
python-devel-2.7.5-89.el7.x86_64.rpm
python-iniparse-0.4-9.el7.noarch.rpm
python-ipaddress-1.0.16-2.el7.noarch.rpm
python-libs-2.7.5-89.el7.x86_64.rpm
python-kitchen-1.1.1-5.el7.noarch.rpm
python-pycurl-7.19.0-19.el7.x86_64.rpm
python-setuptools-0.9.8-7.el7.noarch.rpm
python-urlgrabber-3.10-10.el7.noarch.rpm
python-virtualenv-15.1.0-4.el7_7.noarch.rpm
rpm-python-4.11.3-45.el7.x86_64.rpm
rpm-4.11.3-45.el7.x86_64.rpm
rpm-build-4.11.3-45.el7.x86_64.rpm
rpm-build-libs-4.11.3-45.el7.x86_64.rpm
rpm-libs-4.11.3-45.el7.x86_64.rpm
rpm-sign-4.11.3-45.el7.x86_64.rpm
【yum依赖包】
yum-3.4.3-168.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-aliases-1.1.31-54.el7_8.noarch.rpm
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
yum-plugin-protectbase-1.1.31-54.el7_8.noarch.rpm
yum-utils-1.1.31-54.el7_8.noarch.rpm
可以先下载到本地,然后通过工具上传到Linux,也可以直接在Linux命令行使用wget工具进行下载(版本号一定要对应),例如:
# 在/usr/local/src/python-yum目录下,下载python依赖包
wget https://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm
wget https://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-devel-2.7.5-89.el7.x86_64.rpm
......
3.安装python
这里面有一堆的依赖关系在里面,先安装哪个后安装哪个也是有讲究的,网上看了很多教程,如下图,说法不一,按照他们的操作顺序后还是会报各种依赖的错
我嫌太麻烦,剪不断、理还乱,干脆把所有的依赖都放在一起,强制安装,需要哪个自己检测,简单粗暴一点,大不了从头再来:
cd /usr/local/src/python
rpm -ivh python-* rpm-python-*
rpm -ivh python-* rpm-python-* --nodeps --force # 如出现安装依赖报错问题,可带上--nodeps --force参数的意思是不考虑依赖包,强制安装
安装成功后如图所示:
输入python,验证是否安装成功:
4.安装yum
cd /usr/local/src/yum
rpm -ivh yum-*
安装成功如图所示:
验证yum是否安装成功:
小结
以上就是Python2和yum卸载及重新安装的全过程,虽然误删除Python及yum不会导致系统挂掉这么严重的问题,但也会增加很多不必要的麻烦,尤其是时间的浪费。所以在执行一些命令,尤其是一些删除、卸载命令时,一定要慎重!
猜你喜欢
- 2025-06-28 python文件操作常用方法整理(python文件操作总结)
- 2025-06-28 Python3查看文件是否存在,以及读、写与执行的属性
- 2025-06-28 Python 中的前缀删除操作全指南(python删除后缀)
- 2025-06-28 Python教程(18)——python文件操作详解
- 2025-06-28 你的手机是不是经常提示存储空间不足?Python帮你清理重复文件
- 2025-06-28 用于清理数据的 5 个简单有效 Python 脚本
- 2025-06-28 「万能Python」-15-文件处理(关于python对文件的处理)
- 2025-06-28 Linux 下海量文件删除方法效率对比,最慢的竟然是 rm
- 2025-06-28 python应用-shutil详解文件复制/移动/删除功能
- 2025-06-28 Python处理文本的25个经典操作(python文本分析:从入门到精通)
- 272℃Python短文,Python中的嵌套条件语句(六)
- 271℃python笔记:for循环嵌套。end=""的作用,图形打印
- 269℃PythonNet:实现Python与.Net代码相互调用!
- 264℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 264℃Python实现字符串小写转大写并写入文件
- 123℃原来2025是完美的平方年,一起探索六种平方的算吧
- 104℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 99℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
-
- Python数据分析实战-dataframe分组提取每一组的首条记录
- 如何使用Python将多个excel文件数据快速汇总?
- 「Python数据分析」Pandas进阶,使用groupby分组聚合数据(二)
- 还在熬夜合并30个Excel 3个案例,带你用Python玩转Excel高阶操作
- python数据分析实战:pandas分组聚合-自定义聚合函数
- Python 知识点 #31 - 分组和聚(python分层聚类)
- 人生苦短,自学 python——pandas 的分组操作
- 利用Python进行数据分组/数据透视表
- 超实用!用Python快速实现数据分组统计与透视表
- Python 之 Pandas:数据分组聚合统计的魔法秘籍
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)