Python使用pip安装Caused by SSLError:certificate verify failed

server/2025/1/11 19:36:33/

最近公司电脑受限,安装conda好像有点问题,不让安装。只能pip硬装了:

使用pip安装的时候一直报错:

Could not fetch URL https://pypi.org/simple/pyplot/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pyplot/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)'))) - skipping

不得已多方找答案,最后找了个稍微靠谱的几种办法:

pip 在通过 HTTPS 协议从 PyPI 拉取包时,无法验证 SSL 证书,导致请求失败。通常这个问题是因为本地环境缺少必要的 CA 证书或 SSL 配置不正确。以下是解决这个问题的几种方法:

我的是属于用了代理导致的问题....

1. 安装或更新 CA 证书

你可能需要在系统上安装或更新 CA 证书,这种情况常见于 macOS 或某些较旧的 Linux 系统。

对于 macOS 用户:

如果你是 macOS 用户,可以运行以下命令来安装或更新 CA 证书:

/Applications/Python\ 3.x/Install\ Certificates.command

请将 3.x 替换为你的 Python 版本。这段代码会确保你的 Python 安装配置了所需的证书。

对于 Linux 用户:

在 Linux 上,你可以使用包管理器来安装或更新 CA 证书。例如,在 Ubuntu 或 Debian 系统中运行:

sudo apt-get update sudo apt-get install ca-certificates sudo update-ca-certificates

对于 Windows 用户:

Windows 通常会自动处理证书,确保你的 Python 安装能正确访问 Windows 的证书存储。如果是自定义的 Python 安装,确保 Python 安装正确配置以访问证书。


2. 更新 pip

确保你的 pip 是最新版本,因为新版的 pip 可能更好地处理 SSL 证书问题。

你可以运行以下命令更新 pip

python -m pip install --upgrade pip

3. 禁用 SSL 验证(不推荐用于生产环境)

如果你只是做测试,或者在公司内部网络中,想暂时跳过 SSL 证书验证,可以禁用 SSL 验证。不过 不建议在生产环境中使用这种方式,因为它会降低安全性。

你可以使用 --trusted-host 参数来跳过证书验证:

pip install --trusted-host pypi.org --trusted-host pypi.python.org pyplot

这会告诉 pip 在连接 PyPI 时跳过 SSL 证书验证。

4. 设置 SSL_CERT_FILE 环境变量

如果你有自定义证书,或者在代理后面使用了自定义证书,可以设置 SSL_CERT_FILE 环境变量,指向你的证书文件路径。

例如,在 Linux 或 macOS 上:

export SSL_CERT_FILE=/path/to/your/certificate.crt

在 Windows 上:

set SSL_CERT_FILE=C:\path\to\your\certificate.crt 

5. 检查代理配置

如果你在代理服务器后面,SSL 问题可能与代理的 SSL 证书配置有关。确保你的 pip 配置正确,能够处理代理的 SSL 证书。

你可以通过以下命令为 pip 设置代理:

pip install --proxy=http://user:password@proxyserver:port pyplot

另外,你也可以设置环境变量来配置代理:

export http_proxy=http://user:password@proxyserver:port export https_proxy=https://user:password@proxyserver:port

6. 尝试使用 PyPI 的替代镜像源

如果你仍然遇到问题,可以尝试使用 PyPI 的备用镜像源:

pip install --index-url https://pypi.org/simple/ --trusted-host pypi.org pyplot

可以都分别尝试一下吧,


http://www.ppmy.cn/server/157559.html

相关文章

android进入fastboot

安装windows驱动。android进入fastboot模式后,需要Windows驱动来跟adb通信,所以需要预先安装Windows usb驱动,否则进入fastboot模式后,无法使用adb连接手机。 下载网址:https://developer.android.com/studio/run/win-…

jenkins入门12-- 权限管理

Jenkins的权限管理 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,我们使用Role-based Authorization Strategy 插件,安装完插件,security授权策略,多了role-based strategy,设…

java中 如何从jar中读取资源文件?

在Java中,从JAR文件中读取资源文件通常使用类加载器(ClassLoader)或者通过getClass().getResourceAsStream()方法。以下是几种常见的方法: 方法一:使用 getClass().getResourceAsStream() 这是最常见和推荐的方法&am…

【微服务】6、限流 熔断

线程隔离与容错处理 本视频主要讲解了在购物车业务中,因商品微服务响应慢导致的问题及解决方案,重点介绍了线程隔离后查询购物车业务不可用的情况,以及如何通过Fallback逻辑进行缓解,包括配置Feign调用为簇点资源、添加Fallback逻…

【Spring Boot 应用开发】-04 自动配置-数据源

深入讲解 Spring Boot 自动配置中的数据源配置 为了更好地理解 Spring Boot 中的自动配置机制,我们以数据源配置机制为例,按照以下顺序进行讲解: 不使用任何框架来连接数据源的方式使用 Spring MVC 连接数据源的方式使用 Spring Boot 自动配…

bash相关习题复习

1、由于 ~/.bash_history 仅能记录指令,我想要在每次注销时都记录时间,并将后续的指令 50 笔记录下来, 可以如何处理? [rootptivitic ~]# vim ~/.bash_logout date >> ~/.myhistory history 50 >> ~/.myhistory 2…

conntrack iptables 安全组

centos 安装yum install conntrack-tools 1. conntrack状态 NEW: 新建连接(第一次包)。 ESTABLISHED: 已建立连接,正在传输数据。 RELATED: 与已有连接相关的连接,如 FTP 数据连接。 INVALID: 无效连接,无法识别或不…

计算机网络之---网络层的基本功能

网络层简述 网络层(Network Layer)是OSI(开放系统互联)模型的第三层,主要负责将数据包从源主机传输到目的主机,处理数据传输过程中的路由选择、寻址和分段等任务。网络层的主要目的是确保数据能够从源设备准…