【问题标题】:"WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available." Ubuntu 21.04 Python 3.8.10“警告:pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用。” Ubuntu 21.04 Python 3.8.10
【发布时间】:2021-07-28 15:32:04
【问题描述】:

我最近升级到了 Python 3.9.4 附带的 Ubuntu 21.04,但我需要使用 3.8 创建一个虚拟环境。

我使用本指南手动安装了 3.8.10:https://hackersandslackers.com/multiple-versions-python-ubuntu/,并使用 python3.8 -m venv NAME 创建了一个 venv。我激活它,Python和Pip版本是正确的。

问题是当我去尝试安装轮子时出现此错误:WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

如果我使用系统python版本创建venv,我不会得到同样的错误。

我检查了与此相关的(许多)其他问题,但其中大多数是针对 windows 或 mac 或远程安装的,我在本地计算机上。

【问题讨论】:

  • 如果您从源代码构建 Python,并且您的计算机上未安装 libssl-dev,则可能会发生这种情况。你能检查dpkg -s libssl-dev的输出吗?
  • 这就是问题所在,我在安装 ssl 后重新运行配置并安装,现在它可以工作了

标签: python ubuntu ssl pip


【解决方案1】:

libssl-dev 是从源代码构建 ssl 模块所必需的。

如果您从软件包存储库安装 Python,您将安装一个预构建的二进制文件,因此您不需要在自己的机器上安装 openssl 开发文件,因为这些文件有点“内置”到释放。

但如果您自己从源代码构建 Python,则需要安装 libssl-dev(openssl 开发文件)包才能使用 ssl 模块构建 Python。

您可以通过查看以下输出来检查您是否安装了libssl-dev

dpkg -s libssl-dev

如果没有安装,你可以安装它(可能需要特权,例如sudo):

apt-get install libssl-dev

如果您随后从源代码重建 Python,ssl 模块应该可用。

注意:还有其他依赖项可能会丢失,并导致 Python 安装功能不足。注意构建时获得的输出。 Ubuntu 存储库中这些依赖项名称的(可能不完整)列表是:libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

【讨论】:

    猜你喜欢
    • 2023-01-20
    • 2021-07-27
    • 2021-11-04
    • 2020-10-30
    • 2019-06-21
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多