centos 安装 python3_python加密解密库

centos 安装 python3_python加密解密库今天使用pip3installvirtualenv命令安装virtualenv的时候一直安装不了,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天使用pip3 install virtualenv命令安装virtualenv的时候一直安装不了,
错误信息大概是这样的。
WARNING: pip is configured with locations that require TLS/SSL, however the

前言

这个错误百度一搜索就知道是安装python的时候没有安装ssl。
不同的python版本对应的openssl要求不一样,我安装的python版本是的3.8.3,要求的openssl在1.0.2以上,如果系统上面的openssl不满足条件可以升级一下。

解决方案

参考连接
python3安装文件遇到ssl未安装问题
python3集成ssl的前提条件是系统有安装openssl,可以使用命令验证
openssl version

[root@hecs-x-large-2-linux-20200606135952 openssl-1.1.1a]# openssl version
OpenSSL 1.1.1a  20 Nov 2018
[root@hecs-x-large-2-linux-20200606135952 openssl-1.1.1a]# 

找到openssl的安装目录,可以使用下面的命令来找

[root@]# which openssl
/usr/bin/openssl
[root@]# ll /usr/bin/openssl
lrwxrwxrwx 1 root root 30 Jun 12 18:55 /usr/bin/openssl -> /usr/local/openssl/bin/openssl
[root@]# 

使用which找到openssl的使用目录,为/usr/bin/openssl
使用 ll /usr/bin/openssl找到其真实路径为/usr/local/openssl/bin/openssl,然后自己看下安装目录是/usr/local/openssl,这个目录路径在python集成ssl的时候用到。

修改python配置

修改启动文件夹Modules/Setup,在python的源码文件夹里面,比如我的源码地址是/root/Python-3.8.3,找到下面代码块中的SSL的地方,把这四行代码的注释放开就可以,特别需要注意的是确认openssl的安装路径是否正确,默认的openssl的配置路径是/usr/local/ssl,但是我的安装路径是/usr/local/openssl,所以需要把路径修改正确,开始我没注意,后面安装就报错了。

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/openssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

修改完成之后重新配置,编译,然后安装。

./configure
make && make install

最后测试ssl是否可用

[root@hecs-x-large-2-linux-20200606135952 Python-3.8.3]# python3
Python 3.8.3 (default, Jun 12 2020, 21:32:13) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193620.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mysql锁死解决「建议收藏」

    Mysql锁死解决「建议收藏」经常遇到mysql锁死,如alterxx语句就经常锁死数据表怎么解决?1.showprocesslist;可以看到有Waitingfortablemetadatalock字眼;如果有其他类似字眼可以解决掉冲突的进程命令:killpidpid就是图片第一列的id,如果还是无法解决且看第二条2.select*frominformation_schema.innodb_trx;此条即查到未结束的事务,可以酌情杀死冲突事务一般都可解决锁死。如未解决可谨慎

    2022年5月18日
    55
  • 数组和链表的区别浅析

    数组和链表的区别浅析1.链表是什么链表是一种上一个元素的引用指向下一个元素的存储结构,链表通过指针来连接元素与元素;链表是线性表的一种,所谓的线性表包含顺序线性表和链表,顺序线性表是用数组实现的,在内存中有顺序排列,通过改变数组大小实现。而链表不是用顺序实现的,用指针实现,在内存中不连续。意思就是说,链表就是将一系列不连续的内存联系起来,将那种碎片内存进行合理的利用,解决空间的问题。所以,链表允许插入和删…

    2022年6月15日
    36
  • qq wine linux_wine qq

    qq wine linux_wine qq次博客为转载,原作者地址点击此处,解决ubuntu笔记本安装qq百度网盘微信等软件的问题 <divid="secondary"role="complementary"style="position:relative;"> <headerid="header"role="banner"> <div

    2025年9月17日
    7
  • 深挖洞广积粮不称霸_threadlocal源码

    深挖洞广积粮不称霸_threadlocal源码ThreadLocal是什么早在JDK1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它

    2025年10月8日
    4
  • 回到顶部

    回到顶部

    2021年6月5日
    105
  • git 修改用户名和密码_git设置全局用户名

    git 修改用户名和密码_git设置全局用户名查看当前用户名和邮箱gitconfiguser.namegitconfiguser.email修改gitconfig–globaluser.name"zhangsan(新的用户名)"gitconfig–globaluser.email"123456@qq.com(新的邮箱)"gitconfig–globaluser.password"123456(…

    2025年9月27日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号