安装python3.7

安装依赖

一般来说,centos自带的是python2.6
升级python之前,先准备好环境,安装一些必要的包

1
2
yum groupinstall "Development Tools"
yum install readline readline-devel zlib* bzip2-devel ncurses-devel sqlite-devel libffi-devel -y

重点准备ssl库:下载libreSSL源码包,并解压编译安装

1
2
3
4
5
6
7
8
wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.9.0.tar.gz
tar -xvf libressl-2.9.0.tar.gz
yum erase openssl-devel
cd libressl-2.9.0
./configure --prefix=/usr/local
make
make install
openssl version

这时候虽然装好了,但是系统还未识别,需要专门改一下配置

1
vim /etc/ld.so.conf.d/libressl-2.9.0.conf

将libssl库安装路径加入文件

1
/usr/local/lib

保存,并重新加载库文件

1
ldconfig -v

准备工作

官网下载源码包,并解压

1
2
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
tar -xvf Python-3.7.2.tar.xz

去python源码包目录,vim Modules/Setup.dist,去掉以下内容的注释

1
2
3
4
SSL=/usr/local  #注意这里的路径,如果不一样,请改成这个
_ssl _ssl.c \
-DUSE_SSLexport LDFLAGS="-L/usr/local/lib" -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto

编译安装

1
2
3
./configure --prefix=/usr/local
make
make install