Ubuntu自带的Python2.7版本在平时练习还是可以的,在写网络请求时访问https的网页时,会提示版本太低要用高版本的Python。
就下载了最新的Python3.7版本。从官网下载版本源码后解压进入解压后的目录
./configure
make
make install
依此安装,在make
阶段虽然会成功但会提示 好多模块没有安装成功,其中就有_ssl,这导致pip3安装源时报SSLError无法安装其他库,原因提示为Ubuntu12.04所带OpenSSL版本太低,但是旧版本的openssl无法卸载,就想先安装新版本的openssl,从官网下源码然后,
./config
make
make test
make install
#创建链接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
#这两步会提示文件已存在,这是旧版本的链接,删掉后可以建立链接
#刷新动态配置
vim /etc/ld.so.conf
#在文末插入一行
/usr/local/ssl/lib
#然后执行命令
ldconfig -v
#最后验证
openssl version -a
安装成功后,重新编译Python源码安装,还是无法安装_ssl模块,这时openssl显示的版本为新装的版本,但是通过dpkg查看的还是旧版本。百度看教程可以安装LibreSSL
解决,我安装后还是无法解决,后来不知道怎么弄得openssl的库文件路径不对了,就把/usr/local/ssl
的文件以及创建的链接文件全部删掉重新编译安装openssl以及创建链接,这时再通过命令 openssl version
看到的是LibreSSL
的版本,不知到底是哪一步起作用了,
之后再重新编译安装Python,就成成功安装_ssl
模块了。