大家好,又见面了,我是你们的朋友
今天使用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的安装目录,可以使用下面的命令来找
代码语言:javascript复制[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
修改完成之后重新配置,编译,然后安装。
代码语言:javascript复制./configure
make && make install
最后测试ssl是否可用
代码语言:javascript复制[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.cn/193620.html原文链接:https://javaforall.cn