python - pip3.7 ubuntu 16 pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用

标签 python ssl pip

我正在使用 gitbash virtualbox 和 ubuntu 16 和 windows 10。我已经从 python.org 安装了 python 3.7 包,在我安装之前我安装了

构建必备
检查安装
libreadline-gplv2-dev
libcurfsesw5-dev
libssl-开发
libsqlite3-dev
tk-开发
libgdbm-dev
libc50-dev
libbz2-开发
libffi开发
zlib1g-dev

而且我无法使用 pip3.7 安装任何软件包。我读到有一些行我可能需要在/usr/local/bin/python3.7/Modules 中取消注释,但是当我尝试进入 python3.7 时,我收到错误 Not a directory,所以我不能尝试解决方案。当我尝试安装一个包时

sudo pip3.7 install psycopg2

我收到这些错误:
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

我到处寻找解决此问题的方法,但找不到有效的解决方案。

有什么我可以尝试让它工作的吗?

谢谢
迈克尔

最佳答案

我自己在 Kali 2020.3 上遇到了同样的问题,发现 this over on askubuntu.com .它对我有用。

  • 为 Python 和 ssl 安装必要的包:sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
  • https://www.python.org/ 下载并解压缩 Python进入您的下载目录。
  • 在该目录中打开终端并运行:./configure
  • 构建和安装:sudo make && sudo make install

  • 现在您应该能够安装 Python3 包而不会出现 TLS/SSL 错误,使用:pip3 install package_name

    关于python - pip3.7 ubuntu 16 pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61145486/

    相关文章:

    python - 使用 Autobahn WebSocket 试用单元测试

    python - 检查基于 Django 类的 View 中的 View 方法参数名称

    Python线程: Multiline Progress Report

    android - 带有 ssl iframe 的 ssl 页面在 android 5.1 上损坏

    python - 如何在 Fedora 22 上切换 python2 和 python3 pip?

    python - 无法在 docker mysql 容器中安装 mysqlclient

    python - 如何让 `pip install --editable` 运行 sdist 而不是开发?

    python使用lxml和xpath解析html表上的特定数据

    node.js - ERR_CERT_INVALID : When trying to connect client using ngx-socket-io to nodejs socketio using HTTPS self-assigned certificate

    根据请求的来源将反向代理重定向到 SSL