[Linux] CentOS7 中 pip3 install 可能出现的 ssl 问题

这篇具有很好参考价值的文章主要介绍了[Linux] CentOS7 中 pip3 install 可能出现的 ssl 问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

[Linux] CentOS7 中 pip3 install 可能出现的 ssl 问题,Linux使用问题,linux,ssl,运维,python


由于解决问题之后, 才写的博客, 所以没有图片记录.

尽量描述清楚一些

今天写代码的时候, 突然发现 文件里用了#define定义宏之后, coc.nvimcoc-clangd补全就用不了

:checkhealth了一下, 发现nvim忘记支持python3

尝试pip3 install neovim的时候, 发现会警告然后安装失败.

截图就没有了, 警告第一句大概是:

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

大概的意思是Python安装没有编译支持 SSL/TLS 加密的模块, 如果没有 SSL/TLS 支持, 就可能无法安装某些需要安全连接的Python

然后, 就开始踩坑了

踩坑

先尝试重新编译安装python3:

# 没有解决问题, 不要尝试
# 去到python源码路径下 
make clean
./configure --prefix=/usr/local/python3 --with-ssl
make
make install

然后make编译出问题:

Could not build the ssl module!

Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().

LibreSSL 2.6.4 and earlier do not provide the necessary APIs

出现这个的原因是, CentOS7执行sudo yum install openssl-devel安装的openssl版本是1.0.2太老了


然后我又去下载了openssl1.1.1的源码 并且按照官网文档进行了编译安装.

# 官方文档安装步骤
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr/local/openssl1.1.1 --openssldir=/usr/local/openssl1.1.1 no-ssl2
make
make install

# 安装完成之后, 还按照官方文档 添加了环境变量
export PATH=/usr/local/openssl1.1.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl1.1.1/lib
export LC_ALL="en_US.UTF-8"
export LDFLAGS="-L /usr/local/openssl1.1.1/lib -Wl,-rpath,/usr/local/openssl1.1.1/lib"

然后, 重启了服务器, 执行openssl version会显示OpenSSL 1.1.1g 21 Apr 2020

再次去尝试编译安装python3:

# 没有解决问题, 不要尝试
# 去到python源码路径下 
make clean
./configure --prefix=/usr/local/python3 --with-ssl=/usr/local/openssl-1.1.1
make
make install

然而, 并没有解决问题.

make还是会出现相同的问题:

Could not build the ssl module!

``Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().`

LibreSSL 2.6.4 and earlier do not provide the necessary APIs

但是, 明明已经安装了openssl1.1.1而且也指定了openssl1.1.1的库和软件

也把makefile里所有的/usr/local/openssl改成了/usr/local/openssl1.1.1

但还是没用.

解决

因为补全很重要, 所以一直在找怎么解决

终于, 在这篇提问中找到了解决方案:

https://stackoverflow.com/questions/60536472/building-python-and-openssl-from-source-but-ssl-module-fails

提问的某楼中提到, CentOS7可以直接用yum安装openssl1.1.1:

sudo yum install openssl11 openssl11-devel
mkdir /usr/local/openssl11
cd /usr/local/openssl11
ln -s /usr/lib64/openssl11 lib
ln -s /usr/include/openssl11 include

可以直接安装openssl1.1.1, 并将相应的库和包含 软连接到了 /usr/local/openssl11/lib/usr/local/openssl11/include

然后我再次 尝试重新编译安装python3:

# 去到python源码路径下 
make clean
./configure --prefix=/usr/local/python3 --with-ssl=/usr/local/openssl11
make

这一次make没有再报ssl相关错误:

[Linux] CentOS7 中 pip3 install 可能出现的 ssl 问题,Linux使用问题,linux,ssl,运维,python

然后make installpython3安装

安装成功之后, 进行软连接:

# 备份 python 和 pip
mv /usr/bin/python /usr/bin/python.bak
mv /usr/bin/python3 /usr/bin/python3.bak
mv /usr/bin/pip3 /usr/bin/pip3.bak
# 建立软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

然后 尝试执行pip3 install neovim:

[Linux] CentOS7 中 pip3 install 可能出现的 ssl 问题,Linux使用问题,linux,ssl,运维,python

没有再报 WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 警告.

然后打开neovim执行:checkhealth

可以看到, python3成功被支持, coc.nvim也没有配置错误:

[Linux] CentOS7 中 pip3 install 可能出现的 ssl 问题,Linux使用问题,linux,ssl,运维,python

问题解决~

感谢阅读~文章来源地址https://www.toymoban.com/news/detail-600730.html

到了这里,关于[Linux] CentOS7 中 pip3 install 可能出现的 ssl 问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 更新kali后pip3 install -r requirements.txt 提示error: externally-managed-environment

    当时找了很多方法都没有,按照它这个提示搞也不行 最后重新更新一下就好了 个人经验,写出来希望提供一个思路而已 我的问题:更新kali时,可能网络原因,没有更新完全 解决方法:重新更新 我当时用了以下两条命令: apt update (根据update命令获取最新的软件包列表,但

    2024年02月12日
    浏览(41)
  • python3/pip3 SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

    mac os 电脑之前安装的是python3.9 , 现在升级到python3.10。 从python官网下载macos版本的python3.10 pkg。 双击安装。 程序使用aiohttp访问ebay 。 但是旧版本python执行程序时不会出现以上问题。猜是新python的环境没配置好。 进入python 3.10 的application安装路径。 执行证书安装命令: 安装

    2024年02月11日
    浏览(38)
  • pycharm 无法加载pip3安装包报错:python packing tools not found. install packing tools

    win+R输入cmd,然后输入代码,回车,出现install sucessfully表示成功 Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。 查看是否已经安装 pip 可以使用以下命令: 下载安装包使用以下命令: 例如我们安装 numpy 包: 我们也可以轻易地通过以下的命令来移除软件包: 例如我们移除

    2024年02月05日
    浏览(58)
  • 运行Dockerfile报错:ERROR: failed to solve: process “/bin/sh -c pip3 install flask“

    运行Dockerfile时报错,Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by \\\'ConnectTimeoutError(urllib3.connection.VerifiedHTTPSConnection object at 0x7f22bcb635f8, \\\'Connection to pypi.python.org timed out. (connect timeout=15)\\\')\\\': /simple/flask/ 出现该报错是因为pip install flask时用的国外

    2024年02月16日
    浏览(55)
  • centos7.9升级openssl以解决pip安装过程中的问题

    查看原来openssl的版本 下载新的包 下载有点慢啊,酌情考虑使用国内源镜像吧。 安装 增加配置并使其生效 链接新版本 最后查看openssl版本验证。 因为ssl的1.0.2已经无法支持高版本的python,为了防止后面使用pip的时候出现问题,必须做一个升级。 现在重新编译安装python3.10 下

    2024年02月12日
    浏览(59)
  • 解决:macOS上用python+locust搭建测试框架,pip3 install locust安装成功,用locust -V验证提示‘zsh:command not found :locust’

    1.电脑软硬件配置: 电脑:MacBook pro m1 2020款, 系统:macOS Monterey 12.3.1, 芯片:Apple M1, 内存:16G 2.python的安装方式: 在python官网下载并安装 3.locust的安装方式: 打开终端,使用pip3 install locust安装成功后,提示内容如图: 警告内容大致提醒:没有将环境变量(相应的目录)

    2023年04月09日
    浏览(52)
  • 关于centos7配置dns服务器我出现的问题

                    我是新安装的centos7,也是第一次配置dns服务器,出现了许多问题,如下所示: 前提是已经完成dns所有的配置之后发现的问题哈! 1.network unreachable resolving         这个错误的原因是named尝试使用ipv6进行传输,所以 我们要让它只在ipv4的模式下进行 解决方

    2024年01月17日
    浏览(57)
  • 【Linux install】Ubuntu和win双系统安装及可能遇到的所有问题

    本文介绍了在windows环境下从零开始安装Ubuntu系统的方法,并提供了卸载Ubuntu系统的步骤,还介绍了一些在Ubuntu系统下查找、安装、卸载软件的方法。 先下载一下Ubuntu系统映像。官网下载得比较慢,可以去其他镜像源网站下载比如清华源。下载好的镜像是 iso 后缀。 随便准备

    2024年01月21日
    浏览(45)
  • 解决git clone或者pip install git+https://github.com/ruotianluo/meshed-memory-transformer.git出现的一系列问题

    出现的错误: 问题1. fatal: unable to access \\\'https://github.com/ruotianluo/meshed-memory-transformer.git/\\\': Failed to connect to github.com port 443 after 21020 ms: Timed out   error: unable to read sha1 file of m2transformer/data/example.py (d46c07fc2bb636146922425a46fbcbb2443407cf) 问题2. Collecting git+https://github.com/ruotianluo/meshed-memor

    2024年02月05日
    浏览(47)
  • Centos中pip install mysqlclient失败

    pip install mysqlclient 错误详情如下 ` pip install mysqlclient Looking in indexes: http://mirrors.tencentyun.com/pypi/simple Collecting mysqlclient Using cached http://mirrors.tencentyun.com/pypi/packages/de/9c/b176826e8994551ce826404dab97e305a4bb76c8b0a4e016fabda2901c71/mysqlclient-2.2.0.tar.gz (89 kB) Installing build dependencies … done Getting re

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包