今天一个网友遇到问题:安装python3误删python2.7、yum导致无法使用,coding帮忙解决,在此记录下,欢迎大家批评指正!
(其实coding之前手贱也卸载过python2.7然后yum就不能用了)
本文在微信公众号码农coding已发
神马?安装python3卸载python2.7,yum无法使用了。。。
出于同情,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 --force
rpm -Uvh --replacepkgs libxml2-python*.rpm --nodeps --force
关键
rpm -Uvh --replacepkgs python*.rpm --nodeps --force
- 安装完测试是否成功
python -V
这就恢复了
4、安装yum依赖
- 安装依赖
rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force
- 安装完需要配置一下yum源,可以走centos7默认的,也可以自己配,
可以参考coding文章
- 配置完yum源 记得有个连贯操作
yum clean all && yum makecache && yum update && yum repolist
- 然后看下效果
5、安装python3
- 注意:(个人推荐使用域名进行安装,因为简单)
yum -y install python3
yum -y install python3-devel
- 安装完记得配置链接
ln -s /usr/bin/python3.6 /usr/local/bin/pythpn3
- 然后测试python3是否能够使用
python3 -V
- 看下图
6、安装pip
- yum安装
yum -y install python3-pip
- 配置国内pypi源
为了加速pip下载安装速度,必须要配置国内pypi源,如果不配默认走国外的源速度很low
可参考coding文章
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
- 下面来张比较全的图
其实,本来按道理说已经完成任务了,网友是个大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__)
打完收工!
早休息!
如果可以多陪陪家人!有时间多给父母打个电话!
在外不易,照顾好自己!
好好学习!好好工作!好好吃饭!