centos7 默认安装python2.7.5
- 强制删除已安装python及其关联
[root@yang~]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
- 删除残余文件
[root@yang~]# whereis python|xargs rm -frv
执行命令后导致服务器上的yum命令和python命令都无法使用。出现以下报错:
[root@yang~]# python -V
-bash: /usr/bin/python: No such file or directory
[root@yang~]# yum
-bash: /usr/bin/yum: No such file or directory
- 创建python2.7.5的文件目录 并进入目录下载文件
[root@yang~]# mkdir -p /usr/local/python2.7.5/
[root@yang~]# cd /usr/local/python2.7.5
---------------------------------------------------------------------------------------------------------------------
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/lvm2-python-libs-2.02.177-4.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-libs-2.7.5-68.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-2.7.5-68.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-chardet-2.2.1-1.el7_1.noarch.rpm<br>
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/rpm-python-4.11.3-32.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-utils-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-3.4.3-158.el7.centos.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-aliases-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
---------------------------------------------------------------------------------------------------------------------
- 进行安装
[root@yang~]# rpm -Uvh --replacepkgs lvm2-python-libs*.rpm --nodeps --force #--nodeps --force表示仅安装当前的,不考虑安装所需的依赖
[root@yang~]# rpm -Uvh --replacepkgs python*.rpm --nodeps --force
[root@yang~]# rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force
此时python2.7.5 就安装好了,可以进行测试
[root@Rui ~]# python -V
Python 2.7.5
[root@Rui ~]# python
Python 2.7.5 (default, Apr 11 2018, 07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
出现此界面就说明python2.7.5安装完成
- 测试yum是否可以正常使用
[root@Rui ~]# yum install sshd
Loaded plugins: aliases, fastestmirror, langpacks, protectbase
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
0 packages excluded due to repository protections
No package sshd available.
Error: Nothing to do
[root@Rui ~]#
python2.7.5 升级 python3.5.3
[root@Rui ~]# mkdir -p /usr/local/python3.5.3 #创建python3.5.3目录
[root@Rui ~]# cd /usr/local/python3.5.3 # 进入目录
wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz #下载安装包
tar -zxvf Python-3.5.3.tgz #解压安装包
/usr/local/python3.5.3/Python-3.5.3 #进入安装目录
./configure #编译 或者用这句 ./configure --prefix=/usr/local/python-3.5.3 这个是指定安装文件夹
make&&make install #安装 要是安装报错的话 yum -y install gcc yum -y install openssl-devel yum -y groupinstall Development tools
make clean #清除临时安装文件 python3.5安装完成之后的目录是 /usr/local/bin 是因为我没指定的安装文件夹的原因么
mv /usr/bin/python /usr/bin/python.bak_python2.7.5 #备份原有python
ll /usr/bin |grep python #看一下python的软连接 会发现有个python的连接
rm -rf /usr/bin/python #把这个删掉 链接就没有了
ln -s /usr/local/bin/python3.5 /usr/bin/python #重新建立个python3.5的连接 如果原本的链接没删 可以同时用两个python 这句话就改成 ln -s /usr/local/bin/python3.5 /usr/bin/python3 输入python还是2.7 输入python3进入python3.5.3 应该是这样的吧 没试 我直接删了
python -V #这样发现版本是3.5.3了 但是直接输入python想进入的话 可能就会出现问题了 也可能不出现
- 装完之后要改些东西 yum用不了了 firewalld用不了了 改这些东西吧
vi /usr/bin/yum #修改开头那里 在python后面加个2.7
vi /usr/libexec/urlgrabber-ext-down #一样的 改开头的python 后面加个2.7 这个2.7是我电脑里原来的版本 你得看你自己电脑里的版本来改
vi /usr/sbin/firewalld #防火墙要是启动不了 改这个 和前面一样