centos7原本就安装了Python2,yum依赖于它。如果要替换掉,需要使用特殊方法。
安装epel更新源
下载epel文件epel-release-latest-7.noarch.rpm
wget https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
安装
rpm -ivh epel-release-latest-7.noarch.rpm
安装编译环境
yum groupinstall -y "Development tools"
更新bash和openssl漏洞以及基本软件
yum install -y bash openssl* ntp vim wget telnet nscd ntpdate
yum clean all
更新服务器时间
ntpdate ntp1.aliyun.com
下载包
去官网下载最新的python安装包
官网地址: https://www.python.org/downloads/
最新版本为3.6.5,下载链接为:
https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
安装python3.6可能使用的依赖
yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel zlib zlib-devel libffi-devel
yum install -y readline-devel.x86_64 (一定要安装这个包,不然升级完成后会发现删除退格键用不了)
安装django依赖包
yum install -y sqlite* openssl openssl-devel python-setuptools
编译安装
tar zxvf Python-3.6.5.tgz -C /usr/src/
cd /usr/src/Python-3.6.5
#注意:必须指定--with-ssl,否则使用pip3安装包时,访问ssl链接时,报TLS/SSL错误!
./configure --with-ssl --prefix=/usr/local/python3
make && make install
出现以下信息,表示成功安装
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.3 setuptools-39.0.1
添加软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
查看python版本
python3 -V
输出以下信息:
Python 3.6.5
显示是3.6.5表示安装成功
也可以直接输入python3
[root@localhost Python-3.6.5]# python3
Python 3.6.5 (default, Jun 23 2018, 16:32:49)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
指定豆瓣源
创建目录
mkdir ~/.pip
编辑配置文件
vi ~/.pip/pip.conf
内容如下:
[global]
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com
###以下内容为替换Linux系统默认版本为python3.6,请慎重操作,可能会造成系统功能报错###
备份python文件,添加软链接
将默认的python文件备份
mv /usr/bin/python /usr/bin/python.bak
添加软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
直接输入python,就是3.6版本
[root@localhost ~]# python
Python 3.6.5 (default, Jun 23 2018, 16:32:49)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit
这个时候,使用yum会报错
[root@localhost ~]# yum install vim
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
修改报错的文件
修改yum文件
vim /usr/bin/yum
将首行改为
#!/usr/bin/python2.7
再次使用yum,再次报错
[root@localhost ~]# yum install -y vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
...
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
修改报错的文件
vim /usr/libexec/urlgrabber-ext-down
将首行改为
#! /usr/bin/python2.7
最后使用yum命令,完美运行!
[root@localhost ~]# yum install -y vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.neusoft.edu.cn
* updates: mirrors.neusoft.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-2.el7 将被 升级
---> 软件包 vim-enhanced.x86_64.2.7.4.160-4.el7 将被 更新
--> 正在处理依赖关系 vim-common = 2:7.4.160-4.el7,它被软件包 2:vim-enhanced-7.4.160-4.el7.x86_64 需要
--> 正在检查事务
---> 软件包 vim-common.x86_64.2.7.4.160-2.el7 将被 升级
---> 软件包 vim-common.x86_64.2.7.4.160-4.el7 将被 更新
--> 解决依赖关系完成
依赖关系解决
================================================================================================================
Package 架构 版本 源 大小
================================================================================================================
正在更新:
vim-enhanced x86_64 2:7.4.160-4.el7 base 1.0 M
为依赖而更新:
vim-common x86_64 2:7.4.160-4.el7 base 5.9 M
事务概要
================================================================================================================
升级 1 软件包 (+1 依赖软件包)
总下载量:6.9 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): vim-enhanced-7.4.160-4.el7.x86_64.rpm | 1.0 MB 00:00:01
(2/2): vim-common-7.4.160-4.el7.x86_64.rpm | 5.9 MB 00:00:01
----------------------------------------------------------------------------------------------------------------
总计 5.1 MB/s | 6.9 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : 2:vim-common-7.4.160-4.el7.x86_64 1/4
正在更新 : 2:vim-enhanced-7.4.160-4.el7.x86_64 2/4
清理 : 2:vim-enhanced-7.4.160-2.el7.x86_64 3/4
清理 : 2:vim-common-7.4.160-2.el7.x86_64 4/4
验证中 : 2:vim-common-7.4.160-4.el7.x86_64 1/4
验证中 : 2:vim-enhanced-7.4.160-4.el7.x86_64 2/4
验证中 : 2:vim-enhanced-7.4.160-2.el7.x86_64 3/4
验证中 : 2:vim-common-7.4.160-2.el7.x86_64 4/4
更新完毕:
vim-enhanced.x86_64 2:7.4.160-4.el7
作为依赖被升级:
vim-common.x86_64 2:7.4.160-4.el7
完毕!