1 、依赖包安装
yum install -y zlib-devel zlib-static bzip2-devel xz-libs xz wget git tar gcc gcc-c++ openssl openssl-devel pcre-devel python-devel libevent automake autoconf libtool make git sqlite-devel libffi-devel
2、openssl 高版本1.1.1c安装,pip需要
下载openssl
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
解压
tar -zxvf openssl-1.1.1c.tar.gz && cd openssl-1.1.1c
编译安装 #不需要zlib
./config --prefix=/usr/local/openssl no-zlib
make && make install
备份原配置
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak
新版配置
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
修改系统配置 写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
使修改后的/etc/ld.so.conf生效
ldconfig -v
查看openssl版本
openssl version
3、下载python
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
4.解压并编译安装
tar -zxvf Python-3.7.4.tgz && cd Python-3.7.4
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make all && make install
make clean && make distclean
5.检查安装
/usr/local/python3/bin/python -V
6.建立软连接,使用系统默认的python指向
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
7.检查
python -V
pip3 -V
安装完成
错误提示
openssl version 提示:
/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
假如你的libssl.so.1.1 文件在/usr/local/openssl/lib/下面,可以这样做
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
8.用yum需注意
centos 6 yum使用默认2.6.6, centos 7 yum 使用默认2.7.5 ,安装新版本后,yum不能正常工作,我们需要指定 yum 的Python版本
centos 6
vim /usr/bin/yum 将头部#!/usr/bin/python 改成#!/usr/bin/python2.6.6(刚刚备份的)
centos 7
将#!/usr/bin/python 改成了#!/usr/bin/python2.7 (安装前先备份系统默认的yum)
gnome-tweak-tool
yum-config-manager
vim /usr/bin/gnome-tweak-tool
vim /usr/bin/yum-config-manager
解决办法同上