神马?安装python3卸载python2.7,yum无法使用了...

码农coding3639

共 5349字,需浏览 11分钟

 ·

2021-05-08 01:32

今天一个网友遇到问题:安装python3误删python2.7,导致yum无法使用,coding帮忙解决,在此记录下,欢迎大家批评指正!

(其实coding之前手贱也卸载过python2.7然后yum就不能用了)

3880d63197a9cf92edb44e7a2b443be4.webp

出于同情,coding协助解决,以下是具体解决思路:

  • 0、排查现场
  • 1、卸载错误安装的python2
  • 2、批量下载系统版本对应的python2、yum、libs等rpm包
  • 3、安装python2
  • 4、安装yum依赖
  • 5、安装python3
  • 6、安装pip

以下是详细解决步骤

0、排查现场

环境:x86_64架构、centos7.9.2009

现状:误删python2.7.5、导致python、yum无法使用,重装的python2.7.1不全,安装的python3不全

1、卸载错误安装的python2

首先,查看一下安装的包名 rpm -qa|grep python2

然后,根据包名卸载 rpm -e 包名

2、批量下载rpm包

wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/lvm2-python-libs-2.02.187-6.el7.x86_64.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/libxml2-python-2.9.1-6.el7.5.x86_64.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-libs-2.7.5-89.el7.x86_64.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/rpm-python-4.11.3-45.el7.x86_64.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/yum-plugin-aliases-1.1.31-54.el7_8.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-54.el7_8.noarch.rpm && \
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

3、安装python2

  • 注意:按顺序执行rpm -Uvh --replacepkgs lvm2-python-libs*.rpm --nodeps --forcerpm -Uvh --replacepkgs libxml2-python*.rpm --nodeps --force

  • 关键

    rpm -Uvh --replacepkgs python*.rpm --nodeps --force

b5ec2b76fe2b0380f196ccc31437ccf1.webp
  • 安装完测试是否成功 python -V
4df3fb3caa5d32ede09124835c5b4d45.webp

这就恢复了

4、安装yum依赖

  • 安装依赖

rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force

  • 安装完需要配置一下yum源,可以走centos7默认的,也可以自己配,

可以参考coding文章 https://blog.csdn.net/frdevolcqzyxynjds/article/details/105086203

  • 配置完yum源 记得有个连贯操作

yum clean all && yum makecache && yum update && yum repolist

  • 然后看下效果
6e595f7df52989955d5dfd5b07fbcbf3.webp

5、安装python3

  • 注意:(个人推荐使用域名进行安装,因为简单)

yum -y install python3

yum -y install python3-devel

  • 安装完记得配置链接

    ln -s /usr/bin/python3.6 /usr/local/bin/pythpn3

  • 然后测试python3是否能够使用 python3 -V

  • 看下图

cb8f89c1bb343046021589768850b197.webp

6、安装pip

  • yum安装

yum -y install python3-pip

d270df8e2fb8bfbbbb4625ea0aa8c3e3.webp
  • 配置国内pypi源

为了加速pip下载安装速度,必须要配置国内pypi源,如果不配默认走国外的源速度很low

可参考coding文章  https://blog.csdn.net/frdevolcqzyxynjds/article/details/106679113

mkdir ~/.pip && cd ~/.pip && vim pip.conf

# ~/.pip/pip.conf
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host = pypi.douban.com

这里使用的豆瓣源,当然也可使用清华源,ali镜像站最近不晓得咋回事

# ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
  • 查看pip版本

pip -V

  • 升级pip版本(因为默认是9,版本较低,所以需要更新)

python3 -m pip install --upgrade pip

  • 然后再查看pip版本

pip -V

pip3 -V

655d00e1b44210c15c14e5ceff59d7fe.webp
  • 下面来张比较全的图
9768a5784bc8f0cd662c11e43264ebc6.webp

其实,本来按道理说已经完成任务了,网友是个大boss,还有一个需求:实现pip安装python库

好的

pip install jsonpath

pip install pandas

pip install requests

pip install numpy

pip install phone

安装完了还有个需求,让在python3控制台导几个包试试

import jsonpath

import pandas

import requests

import numpy

import phone

因为这都是在root用户下搞得,然后在普通用户下也测试了一下没得问题

然后就测试以下两个脚本

# jsonpath demo 
# 以拉勾网城市JSON文件 http://www.lagou.com/lbs/getAllCitySearchLabels.json 为例,获取所有城市的名字的列表
# @blog     : 闭关苦练内功
# @微信公众号 : 码农coding
# @Date     : 2021-04-20

import json
import requests
import jsonpath

url = 'http://www.lagou.com/lbs/getAllCitySearchLabels.json'

headers = {
    "User-Agent""Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
}

response = requests.get(url,headers = headers)
html_str = json.loads(response.content.decode())
# print(html_str)

#从根节点开始,获取所有key为name的值
city_list = jsonpath.jsonpath(html_str, '$..name')

print(city_list)
# pandas demo
# 以使用代码获取pandas版本为例
# @blog     : 闭关苦练内功
# @微信公众号 : 码农coding
# @Date     : 2021-04-20

import pandas as pd
import numpy as np
print(pd.__version__)

打完收工!


早休息!

如果可以多陪陪家人!有时间多给父母打个电话!

在外不易,照顾好自己!

好好学习!好好工作!好好吃饭!


欢迎大家进入公众号留言!联系coding!


欢迎    转发+点赞+在看


浏览 74
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报