1.安装python依赖的包
$ yum -y install gcc
# 大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器
$ yum -y install zlib zlib-devel
# 提供数据压缩用的函式库
$ yum -y install bzip2 bzip2-devel
# 一个基于Burrows-Wheeler 变换的无损压缩软件
$ yum -y install ncurses ncurses-devel
# 提供字符终端处理库,包括面板和菜单
$ yum -y install readline readline-devel
# 提供交互式的文本编辑功能
$ yum -y install openssl openssl-devel
# 可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份
$ yum -y install openssl-static
$ yum -y install xz lzma xz-devel
$ yum -y install sqlite sqlite-devel
$ yum -y install gdbm gdbm-devel
$ yum -y install tk tk-devel
$ yum -y install libffi libffi-devel
2.从官网上下载需要安装在redhat7上的Python版本
$ wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0a1.tgz
3.选择以下路径将下载好的.tgz的python文件放入
$ cd home/download/ # 如果没有这个xuyao路径就创建一个
```
4.解压.tgz文件在当前路径
$ cd home/download/ $ tar -xvf Python-3.8.0a1.tgz
5.再创建一个安装文件的路径
$ mkdir usr/local/python3
7.进入到python3解压文件夹下
可以查看到 ./configure 这个文件,此时在解压文件夹下执行命令:
$ ./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC
这里加上--enable-shared和-fPIC之后可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;所以这里建议按照上面的方式配置,如果openssl不使用系统yum安装的,而是使用自己编译的比较新的版本可以使用--with-openssl=/usr/local/openssl这种方式指定,后面目录为openssl实际安装的目录,另外编译完还要将openssl的lib目录加入ld运行时目录中即可.
8.配置编译
$ make
9.执行安装
$ make install
安装成功之后,安装目录就在/usr/local/python3
10.创建新的软连接
$ ln -s /usr/local/python3/bin/python3 /usr/bin/python
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7,
新建一个python3的软链接即可,只是需要执行python3代码时python要改成python3,或者python脚本头部解释器要改为#!/usr/bin/python3
11.检查python版本
$ python -V python-3.8.0a1
12.以上配置成功后,pip3用不了需要进一部配置
$ export PATH=$PATH:$HOME/bin: $ export PATH=$PATH:$HOME/bin:/usr/local/python3/bin
在每次使用pip3之前输入上面两条命令
13.升级完成后,yum无法使用,需更改yum指向源2.7版本
yum报错:yum except KeyboardInterrupt,e
yum包管理是用python2写的,安装了python3之后,由于python版本语法兼容问题导致
修改yum配置文件将python版本指向原版本路径
vi /usr/bin/yum
! /usr/bin/python2.7
修改urlgrabber-ext-down文件,指向原python版本路径
vi /usr/libexec/urlgrabber-ext-down
! /usr/bin/python2.7
```