CentOS6由于版本过老和源组织不当等原因,成功安装Python3和一些较新的依赖库是一件很幸运的事情。这里记录下遇到的报错和解决过程。
按照惯例,先记录一下报错内容,方便搜索引擎索引:
1 | [root@localhost ~]# pip3 install --upgrade pip |
解决方法:
1.编译安装OpenSSL 1.0.2j版本并配置环境变量
下载OpenSSL源码包:
wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz
解压缩,编译安装:
1 | tar -zxvf openssl-1.0.2j.tar.gz |
2.编译安装Python3,使用自定义的OpenSSL
下载Python3.7.3源码包:
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
解压缩,编译安装:
1 | tar -zxvf Python-3.7.3.tgz |
在这一步之后,先不要着急运行make命令。先修改Modules/Setup文件:
1 | # Socket module helper for socket(2) |
修改完成以后,还需要创建两个指向动态链接库的软链接文件:
1 | ln -s /usr/local/openssl-1.0.2j/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.1.0.0 |
最后编译并安装:
1 | make && make install |
安装完成以后,再次运行pip3 install --upgrade pip,可以看到原先SSL连接报错的问题已经解决:
1 | [root@localhost Python-3.7.3]# pip3 install --upgrade pip |