该问题是由于openssl版本与当前python需要的openssl版本不匹配造成的,可手动编译openssl,然后依赖于新的openssl,重新编译、安装python即可,具体操作步骤如下:
1. 下载OpenSSL源码包:
wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz
2. 解压缩,编译安装:
tar -zxvf openssl-1.0.2j.tar.gz
cd openssl-1.0.2j
./config --prefix=/usr/local/openssl-1.0.2j shared zlib
make
sudo make install
编译、安装完成后,将libssl.so和libcrypto.so文件链接到/usr/lib64目录下:
sudo ln -s /usr/local/openssl-1.0.2j/lib/libssl.so.1.0.0 /usr/lib64/
sudo ln -s /usr/local/openssl-1.0.2j/lib/libcrypto.so.1.0.0 /usr/lib64
3. 重新编译Python:
最好将原来的源码删除掉,重新解压一份,然后进入源码目录执行configure:
./configure --prefix=/usr/local/python-2.7.15 --enable-shared
此时先不要执行make,打开Modules/Setup文件,将如下几行的注释去掉,并将SSL=后边的值改为openssl的安装路径:/usr/local/openssl-1.0.2j
执行 make && sudo make install 安装即可