使用 pyenv 安装 Python 时出现“未编译 Python ssl 扩展。缺少 OpenSSL lib?”错误

使用 pyenv 安装 Python 时出现“未编译 Python ssl 扩展。缺少 OpenSSL lib?”错误

使用 pyenv 安装 Python 时出现以下错误:

ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

我正在使用 Ubuntu 18.04 Bionic Beaver,如何解决这个问题?

答案1

如果您尝试安装的 Python 版本等于或低于 2.7.12,则它不支持 OpenSSL1.1.0,因此您需要替换libssl-devlibssl1.0-dev

Ubuntu 18.04 是第一个切换到 OpenSSL1.1.0 的官方版本,这就是为什么您过去可能不会受到此影响。

参考: https://github.com/pyenv/pyenv/issues/945

https://github.com/pyenv/pyenv/wiki/common-build-problems#error-the-python-ssl-extension-was-not-compiled-missing-the-openssl-lib

答案2

检查您的版本:openssl version
pyenv install 3.9 #ok
pyenv install 3.10 #error
目前 Python 版本 3.6 到 3.9 与 OpenSSL 1.0.2、1.1.0 和 1.1.1 兼容。在大多数情况下,Python 还可以与 LibreSSL >= 2.7.1 配合使用,
但缺少一些功能和测试失败。

答案3

根据文档, 一个简单的:

pip install pyopenssl

应该可以完成这项工作。如果pip没有安装,请运行

sudo apt install python-pip

然后再次运行该命令。

相关内容