首页 帮助中心 新加坡云服务器 Centos7 误删了原有的python无法使用yum解决
Centos7 误删了原有的python无法使用yum解决
时间 : 2023-04-11 09:26:52 编辑 : 华纳云 阅读量 : 256

前一阵子需要用python3在虚拟机centos7测试一些数据,嫌弃系统自带的python2多余,不小心删掉了(此处后悔一万遍),导致yum源使用不了,不得已重新安装一次,做个记录

1. 删除系统原有python

##删除python
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联
whereis python |xargs rm -frv ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令
whereis python ##验证删除,返回无结果
##删除yum
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
whereis yum |xargs rm -frv

2. 重新安装系统python2

##安装python对应包
#cd /usr/local/src/python 进入目录
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-devel-2.7.5-89.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-libs-2.7.5-89.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/rpm-python-4.11.3-45.el7.x86_64.rpm
##安装yum包
#cd /usr/local/src/yum
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

##安装系统python和yum
cd /usr/local/src/python 
rpm -ivh python-* rpm-python-* 
或者
rpm -ivh python-*   rpm-python-* --nodeps --force
安装完后即可运行python查看
安装yum时遇到一点小问题、有个lib文件提示不存在,需要查找一下,重新指定,没遇到的不管
cd /usr/local/src/yum
rpm -ivh yum-*
如遇到重新指定一下软连接、
ln -s /usr/local/src/python3/usr/local/lib64 /usr/local/lib64

至此python2原有的yum便安装好了,可是仍旧没有解决我的问题,接下来就是想办法通过让python2和python2共存,在此以前需要重新安装一下openssl,不然pip3会报错

3. 安装新的openssl

##卸载旧的openssl
rpm -qa | grep openssl
yum -y remove openssl-1.0.2k-25.el7_9.x86_64
##下载新的openssl
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
如果提示失败使用下面这个
wget --no-check-certificate http://www.openssl.org/source/openssl-1.1.1.tar.gz

##解压编译
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=/usr/local/openssl
##如果提示perl就安装一下
#yum -y install perl
make && make install
到此基本完成,如果遇到有文件不存在重新指定一下如libssl.so.1.1不存在,找到位置重新指定
find / -name libssl.so.1.1
ln -s /usr/local/openssl/lib/libssl.so.1.1  /usr/lib64/libssl.so.1.1

##查看版本
openssl version 

好了,新版的openssl已经安装完成,接下来安装python3
先看看有没有安装python3,不想要的可以删一下

##删除python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps
whereis python3 |xargs rm -frv

安装python3

需要先安装依赖包

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
创建目录
mkdir /usr/local/python3
cd /usr/local/python3
下载安装包,我装的是3.10,具体可以到https://www.python.org/ftp/python/ 找对应版本
wget https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tar.xz
解压
tar -xvJf Python-3.10.10.tar.xz
cd Python-3.10.10
安装并指定openssl
./configure --prefix=/usr/local/src/python3 --with-openssl=/usr/local/openssl
创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

验证安装成功
python3 -V
pip3 -V
好了,安装完成,顺便提一嘴,如果安装对应python包时临时切换源可以这样

python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
华纳云 推荐文章
windows云服务器手动修改远程桌面端口 Ubuntu遇到网卡问题的有效解决方法 linux怎么开启和关闭防火墙? Centos7.6系统如何保持远程连接呢? Linux如何检测最大可用内存 nginx不提示php错误如何解决 如何使用nginx修改上传文件大小限制? 怎样利用CentOS开启telnet连接? 如何在Ubuntu 18.04中安装MySQL 8.0数据库服务器 linux如何查看用户的UID和GID
客服咨询
7*24小时技术支持
技术支持
渠道支持