openssl install (for pip3 install request)
1、查看安装的版本
openssl version -a
OpenSSL 1.0.2
2、下载 openssl-1.1.1.tar.gz,目前最新是1.1.1,可以通过修改版本号的方式下载最新版本
最新版本可以在这个网站下载:
https://www.openssl.org/source/
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
3、安装zlib和zlib-devel
yum install -y zlib
yum install zlib-devel
4、解压下载的openssl
mkdir /usr/local/ssl/
tar zxf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config shared zlib
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
ldconfig -v
5、查看是否升级成功
openssl version -a
6、可能存在的异常
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
这是由于openssl库的位置不正确造成的。
解决方法:
在root用户下执行:
ln -s /usr/local/ssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
python 3.7.x update
建立立空文件夹
mkdir /usr/local/python3
解压,进入目录,安装python3 (要注意如果你的ssl也是指定目录安装的 --with要跟上路径)
tar -xvJf Python-3.6.2.tar.xz
cd Python-3.6.2
vim ../Python-3.7.1/Modules/Setup.dist
vim ../Python-3.7.1/Modules/Setup
将下面原本注释掉的内容给取消注释即可,一共四行
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/**** ---> openssl 安装位置
_ssl _ssl.c /
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl /
./configure --prefix=/usr/local/python3
make && make install
最后创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
安装sqlite-devel
yum install sqlite-devel
./configure --prefix=/usr/local/python3
make && make install
测试一下,python3,import ssl,import sqlite3,全都没有问题即成功。