码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 解决pip install时ssl报错的问题


    这里以python3为例,python2的解决方案应该也与此类似。

    问题

    centos服务器,pip install时,安装失败,同时有报错信息:

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

    此时进入到python,尝试import ssl,同样也会出现错误。

    原因

    这是因为在安装python时没有配置ssl选项,或者是配置了ssl后编译时有报错,但是最后仍然编译出了能正常运行的python执行程序。

    解决方法

    重新安装python。

    步骤一 确认本地openssl版本

    因为python配置ssl,要求是openssl1.1.1及以上的版本,首先要确认本地openssl版本是否符合,执行命令

    openssl version
    
    • 1

    如果版本是1.1.1及以上,那就直接进入步骤二。否则需要重新安装openssl。
    openssl 官方下载页面:https://www.openssl.org/source/
    这里下载的是当前最新的openssl-1.1.1q。

    wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz
    tar zxvf openssl-1.1.1q.tar.gz
    mkdir /usr/local/openssl
    cd openssl-1.1.1q
    ./config --prefix=/usr/local/openssl
    make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    有的教程里也会替换/usr/bin/下的openssl,但是这里只是给python编译使用,可以不替换,只要在便宜python时制定openssl的路径即可。安装完后用命令确认一下是否版本为1.1.1

    /usr/local/openssl/bin/openssl version
    
    • 1
    步骤二 编译安装python

    python官方下载页面 : https://www.python.org/downloads/

    wget https://www.python.org/ftp/python/3.10.7/Python-3.10.7.tgz
    tar zxvf Python-3.10.7.tgz
    cd Python-3.10.7
    mkdir /usr/local/python3
    ./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
    make && make install
    ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这里也可以单独执行make,看看编译结果里是否有报错,如果有ssl相关报错,说明还是ssl模块编译还是有问题,可以查看编译结果里的原因说明。
    之后再执行pip3 install就不会报错了。

    参考:
    解决pip is configured with locations that require TLS/SSL, however the ssl module in Python is not

  • 相关阅读:
    AES、SM、MD5、RSA、SHA256、DES加密工具类汇总
    孙卫琴的《精通Vue.js》读书笔记-CSS中DOM元素的过渡模式
    mybatis学习(4) - SpringBoot中整合mybatis
    HTTP 响应的格式和响应代码
    8月算法训练------第七天(哈希表)解题报告
    Java 多线程 先批量执行1号任务和部分2号任务,等待1号全部任务完成后,再执行剩下的2号任务内容 - CountDownLatch
    9.jenkins安装
    Linux系统编程(五):信号
    【算法入门-Python】02_递归
    elastic-job源码分析
  • 原文地址:https://blog.csdn.net/feiniao8651/article/details/126878364
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号