CentOS6.9处理python3.7.2版本SSL问题

本文转载自昔日暖阳,原文地址:http://www.osheep.cn/4802.html

什么场景下可能用到?

  • 1、最近为了部署一个Python应用到腾讯云服务器,在使用pip安装依赖模块时,总是因为需要HTTPS访问,无法安装模块。
  • 2、当然,如果你再python应用中无法进行请求https的链接,并提示SSL模块无法使用,这个依然适用。
  • 3、python3.7版本要求openssl的版本在1.0.2以上,所以就装呗。
  • 4、…

小提示:

首先要安装openssl,因为python3需要引用openssl模块,但是CentOS需要的openssl版本最低为1.0.2,但是CentOS 默认的为1.0.1,所以需要重新更新openssl

下面就直接出击了,一遍下来,稳妥!

一、安装openssl1.1.1版本

  • (1)使用yum安装相关依赖包,如果服务器yum有问题,找我上一篇文章处理。
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
  • (2)下载、解压缩、自定义安装
# 下载
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
# 解压缩
tar -zxvf openssl-1.1.1.tar.gz
# 进入目录安装
cd openssl-1.1.1
# 进行配置下,自定义
./config --prefix=$HOME/soft-repos/openssl shared
# 编译并安装
make && make install
# 配置到用户环境变量,随处使用
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/soft-repos/openssl/lib" >> $HOME/.bash_profile
# 是环境变量配置生效
source $HOME/.bash_profile

二、安装python3.7.2版本

  • (1)安装相关依赖包,如果服务器yum有问题,找我上一篇文章处理。
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel -y
yum install python-pip -y
  • (2)下载并安装
# 下载3.7.2版本
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
# 解压缩
tar -zxvf Python-3.7.2.tgz
# 进行配置下,自定义
# prefix 指定安装python路径
# --with-openssl 指定你刚才安装openssl的目录,这是关键
./configure prefix=$HOME/soft-repos/python3  --with-openssl=$HOME/soft-repos/openssl
# 编译并安装
make && make install
# 设置新安装python和pip的软连接,方便后续全局使用
ln -s /root/soft-repos/python3/bin/python3.7 /usr/bin/python3
ln -s /root/soft-repos/python3/bin/pip3.7 /usr/bin/pip3
  • (3)确认安装的是否有效,是否支持SSL
# 查看python3的版本
python3 -V
# 使用pip安装一个模块试试
pip install requests

你可能感兴趣的:(python)