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

2023-11-10

系统:centos7.4(虚拟机)

python版本:本机自带的2.7.5,以及参考python安装的python3.11

pip版本:本机自带的8.1.2,参考pip安装&升级升级到了20.3.4,pip3版本为22.3.1

openssl版本:本机自带的1.0.2k-fips(这里是个坑)

报错原因是,想通过下面的命令下载安装numpy包:

pip3 install numpy

在此之前用pip命令是可以的:

pip install numpy

但pip3一直报错:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
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/numpy/
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/numpy/
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/numpy/
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/numpy/
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/numpy/
Could not fetch URL https://pypi.org/simple/numpy/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/numpy/ (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 numpy (from versions: )
No matching distribution found for numpy
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

原因:系统版本centos7.4,其中openssl的版本为OpenSSL 1.0.2k-fips,而python3.11需要的openssl的版本为1.1.x及以上,需要对openssl进行升级,并重新编译python3.11(yum 安装的openssl 版本都比较低)。

升级openssl:

1.下载openssl
wget https://www.openssl.org/source/openssl-3.0.7.tar.gz
tar -zxvf openssl-3.0.7.tar.gz
cd openssl-3.0.7

2.编译安装
./config --prefix=/usr/local/openssl 
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/lib64/libssl.so.3 /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

# 5.修改系统配置
## 写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib64" >> /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

诸如此类的错误,是由于建立软链接时第一个路径不是openssl的安装路径,请根据自己的openssl安装路径确认建立软链接的的第一个路径。

重新安装python3.11:

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

这时再次执行:

pip3 install numpy

仍然无法下载,参考原因是源的问题,换成了国内的pip源就可以正常安装了,使用如下命令即可:

pip3 install numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3.11安装, 解决pip is configured with locations that require TLS/SSL问题 的相关文章

随机推荐

  • CCS软件的Graph功能

    如何正确使用CCS自带绘图Graph功能 Single Time使用演示 点击菜单栏Tools gt Graph gt Single Time 如图所示 点开后出现如下的对话窗口 下面对里面的每一项参数进行一下说明 Acquisition
  • linux系统PC机安装(非虚拟机,以centos为例)

    centos介绍 CentOS CommunityEnterprise Operating System 中文意思是 社区企业操作系统 我们有很多人叫它 社区企业操作系统 不管你怎么叫它 它都是linux的一个发行版本 CentOS并不是全
  • C语言指针知识点(一):字符指针(char *)及其格式输出(%c%d%s等)

    类型是分配内存块大小的别名 即类型 int double char 的作用就是分配相对应大小的内存 并给程序员一个名字 int double char 方便操作 指针也是一种数据类型 定义时可以对其赋值 可赋任意地址值 但习惯赋值为NULL
  • Windows10下VTR.7中VPR项目的运行

    下载VTR7和Visual Studio2022 点击sln文件 打开vpr工程 项目升级 vpr为VS2010的项目 需要先对工程文件升级后再编译 取消较小类型检查 上方菜单 项目 VPR属性 C C 代码生成 编译链接 运行 命令行运行
  • Elasticsearch Java 操作之后查询数据未及时更新

    在请求里加这个参数 request setRefreshPolicy WriteRequest RefreshPolicy IMMEDIATE 例如 public boolean saveOrUpdate String indexName
  • ListView具有多种item布局——实现微信对话列 .

    这篇文章的效果也是大家常见的 各种通讯应用的对话列表都是这种方式 像微信 whatsapp 易信 米聊等 我们这篇文章也权当为回忆 形成简单的笔记 这篇文章参考了2009年Google IO中的 TurboChargeYourUI How
  • linux启动,挂栽,共享,忘记密码的解决方法

    Linux修改linux的启动方式 修改linux启动方式 文本方式或xwindow方式 vi etc inittab 找到id x initdefault 一行 x 3为文本方式 x 5为xwindow方式 重启机器即可生效 mount用
  • Leetcode5438. 制作 m 束花所需的最少天数——另类的二分法

    文章目录 引入 二分法题解 制作 m 束花所需的最少天数 二分法题解 分割数组的最大值 二分法题解 两球之间的磁力 引入 之前在周赛遇到5438 制作 m 束花所需的最少天数 给你一个整数数组 bloomDay 以及两个整数 m 和 k 现
  • YOLOV5改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU

    在YoloV5中添加EIoU SIoU AlphaIoU FocalEIoU Wise IoU 2023 2 7 更新 yolov5添加Wise IoUB站链接 重磅 YOLO模型改进集合指南 CSDN yolov5中box iou其默认用
  • java 16进制与图片互转

    十六进制转成图片 十六进制转成图片 author Administrator public static void saveToImgFile String src String output if src null src length
  • 使用JMS进行消息传递

    你需要什么 大约 15 分钟 IntelliJ IDEA或其他编辑器 JDK 1 8或更高版本 Maven 3 2 你会建立什么 本指南将指导您完成使用 JMS 代理发布和订阅消息的过程 您将构建一个应用程序 该应用程序使用Spring的
  • 关于项目属性书写应该严重注意的问题

    这样马马虎虎不注意属性的书写细节 会导致属性查询或者注入失败 public class Goods private Integer goodsId private String goodsName private String goodsT
  • C#学习笔记 常用的集合

    列表List lt T gt 列表List lt T gt 实现了IList ICollection IEnumberable IList接口 可以向该列表中动态的添加 删除 查找元素 如果列表中的元素满了 会动态分配一个容量是原来两倍的列
  • Docker 的基本概念和优势

    Docker是一个开源的容器化平台 可以将应用程序和所有依赖项打包在一起 形成一个独立的 可移植的容器 以下是Docker的基本概念和优势 基本概念 Docker镜像 Docker镜像是一个包含应用程序和所有依赖项的文件系统 它可以用来创建
  • 服务器系统如何账务处理,云服务器费用账务处理

    云服务器费用账务处理 内容精选 换一换 用户支付订单后 如果收到云服务器开通失败的短信 请致电华为云客服中心电话4000 955 988 客服会协助用户排除故障 开通云服务器 如果故障无法及时排除 用户可以选择取消订单 客服会做退费处理 将
  • Maven项目,本地jar包导入手动导入到Maven库中

    当你的项目 由于网络或者环境这些问题 无法从maven中央仓库更新jar包到本地的时候 可以尝试下面方法 手动添加jar包到Maven仓库 方法一 推荐 1 需要先拿到你的jar包 copy到本地 例如我的就是hutool all 5 8
  • sql注入详细过程

    前提 mysql5 0以上版本包含内置的information schema数据库 它储存着mysql所有的数据库和表结构信息 利用该数据库可以查询到所有的数据库和表的内容 一 5 0 暴力破解的方式获取数据 1 原理 当我们的Web ap
  • 运维工程师绩效考核表_运维人员初步 度绩效考核表

    姓 名 部 门 岗 位 上级领导 时 间 考核分类 考核维 度 权重 指标 数据来源 考核评分 复核 10 计划合理 偏差范围可控 10 分 考评 30 按计划完成的时间 30分 考评 10 机房设备的是否正常运行 10 考评 10 网站的
  • 最大流算法 - 标号法

    标号法求最大流 图论中网络的相关概念见上篇博客 算法基本思想 从某个初始流开始 重复地增加流的值到不能再改进为止 则最后所得的流将是一个最大流 为此 不妨将每条边上的流量设置为0作为初始流量 为了增加给定流量的值 我们必须找出从发点到收点的
  • python3.11安装, 解决pip is configured with locations that require TLS/SSL问题

    系统 centos7 4 虚拟机 python版本 本机自带的2 7 5 以及参考python安装的python3 11 pip版本 本机自带的8 1 2 参考pip安装 升级升级到了20 3 4 pip3版本为22 3 1 openssl