这两天捣鼓python3,折腾了半天。总结一下
问题:原本打算卸载了python2,再安装python3,但linux系统不同于windows系统,要升级到python3,不能卸载了再升级。必须在python2存在的基础上升级。因为卸载python2,会连带卸载yum工具。
解决思路:
①如果服务器没有什么东西,重装系统最省事。但是如果不允许重装,那就只能按部就班的恢复python2和yum。
②恢复python2和yum之后,再下载python3安装包,解压、安装,建立软链接。
步骤:
一、删除python2和yum及恢复(没有删除,可以跳过该步骤)
1.删除所有python和yum残留及其关联的文件,但不包括依赖包。
#rpm -qa | grep python | xargs rpm -ev --allmatches --nodeps
#rpm -qa | grep yum | xargs rpm -ev --allmatches --nodeps
-e卸载,-v可视,--nodeps不含依赖包
2.强制删除残留文件
#whereis python | xargs rm -fr
#whereis yum | xargs rm -rf
3. 下载系统对应的rpm包
# cat /etc/redhat-release \\查询系统版本
# http://mirrors.ustc.edu.cn/centos/7.5.1804/os/x86_64/Packages/
通过上面的链接下载相关依赖包(应该有二三十个包需要下载)
1 libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm 2 python-2.7.5-68.el7.x86_64.rpm 3 python-backports-1.0-8.el7.x86_64.rpm 4 python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm 5 python-chardet-2.2.1-1.el7_1.noarch.rpm 6 python-devel-2.7.5-68.el7.x86_64.rpm 7 python-iniparse-0.4-9.el7.noarch.rpm 8 python-ipaddress-1.0.16-2.el7.noarch.rpm 9 python-kitchen-1.1.1-5.el7.noarch.rpm 10 python-libs-2.7.5-68.el7.x86_64.rpm 11 python-pycurl-7.19.0-19.el7.x86_64.rpm 12 python-setuptools-0.9.8-7.el7.noarch.rpm 13 python-urlgrabber-3.10-8.el7.noarch.rpm 14 python-virtualenv-15.1.0-2.el7.noarch.rpm 15 rpm-4.11.3-32.el7.x86_64.rpm 16 rpm-build-4.11.3-32.el7.x86_64.rpm 17 rpm-build-libs-4.11.3-32.el7.x86_64.rpm 18 rpm-libs-4.11.3-32.el7.x86_64.rpm 19 rpm-python-4.11.3-32.el7.x86_64.rpm 20 rpm-sign-4.11.3-32.el7.x86_64.rpm 21 yum-3.4.3-158.el7.centos.noarch.rpm 22 yum-metadata-parser-1.1.4-10.el7.x86_64.rpm 23 yum-plugin-aliases-1.1.31-45.el7.noarch.rpm 24 yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm 25 yum-plugin-protectbase-1.1.31-45.el7.noarch.rpm 26 yum-utils-1.1.31-45.el7.noarch.rpm
有些包可能没有列举出来,可以根据提示自行下载。下载完成后:
#rpm -Uvh --replacepkgs *.rpm
如果安装成功,可以查询到yum和python的版本。
#yum --version
#python --version \\运行结果:python2.x.x
二、安装python3和建立软链接
1. 下载对应版本(win/Linux/Mac)的python3压缩包
# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
2. 解压、安装
# tar -xvf Python-3.7.0.tgz
# cd Python-3.7.0.tgz
# ./configure --prefix=/usr/local/python3 \\指定路径安装
# make && make install \\编译、安装
# python -V \\查看到的版本是2.7.x
# ln -s /usr/local/python3/bin/python3.7 /usr/bin/python \\建立软链接
# python -V \\查看python版本,3.x.x,如果不是,说明软链接可以错误,请删除(#rm -rf /usr/local/python3/bin/python3 /usr/bin/python)再弄清路径
参考链接:https://blog.csdn.net/qq_36731677/article/details/83552436
原文地址:https://www.cnblogs.com/jakye/p/11548247.html