python3.7安装pip问题_python3.7安装, 解决pip is configured with locations that require TLS/SSL问题...

在CentOS6.5上安装Python3.7后,使用pip命令时出现错误提示:pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available。原因是openssl版本过低。解决方案包括升级openssl到1.1.1a,重新配置系统路径,并重新编译安装Python3.7,确保使用新版本的openssl。" 22045759,1370067,高分一号卫星几何校正指南:ArcGIS无控与有控校正,"['ArcGIS影像技术', '遥感影像', '中国卫星', '几何校正', '数据处理']
摘要由CSDN通过智能技术生成

1.安装相关依赖

yum install gcc libffi-devel zlib* openssl-devel

# libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

2.下载并解压

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz

# 下载

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz

# 解压并编译:

tar -xvJf Python-3.7.1.tar.xz

cd Python-3.7.1

3.编译安装

./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

# 我们可以清除之前编译的可执行文件及配置文件 && 清除所有生成的文件:

make clean && make distclean

bug: 使用pip 命令失败

2.1 错误信息

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

Collecting virtualenv

Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/

Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/

Could not fetch URL https://pypi.org/simple/virtualenv/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/virtualenv/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

Could not find a version that satisfies the requirement virtualenv (from versions: )

No matching distribution found for virtualenv

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

2.2 原因

系统版本centos6.5,其中openssl的版本为OpenSSL 1.0.1e-fips 11 Feb 2013,而python3.7需要的openssl的版本为1.0.2或者1.1.x,需要对openssl进行升级,并重新编译python3.7.0。yum 安装的openssl 版本都比较低。

2.3 升级openssl

# 1.下贼openssl

wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz

tar -zxvf openssl-1.1.1a.tar.gz

cd openssl-1.1.1a

# 2.编译安装

./config --prefix=/usr/local/openssl no-zlib #不需要zlib

make

make install

# 3.备份原配置

mv /usr/bin/openssl /usr/bin/openssl.bak

mv /usr/include/openssl/ /usr/include/openssl.bak

# 4.新版配置

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

# 5.修改系统配置

## 写入openssl库文件的搜索路径

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

## 使修改后的/etc/ld.so.conf生效

ldconfig -v

# 6.查看openssl版本

openssl version

openssl version 提示:

/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

假如你的libssl.so.1.1 文件在/usr/local/openssl/lib/下面,可以这样做

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

3.3 重新安装python

./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl

make

make install

原文:https://blog.csdn.net/lkgCSDN/article/details/84403329

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值