【问题标题】:pip cannot confirm SSL certificate: SSL module is not availablepip 无法确认 SSL 证书:SSL 模块不可用
【发布时间】:2018-12-11 10:42:09
【问题描述】:

我正在尝试在我的 Raspberry Pi Zero W 上安装适用于 Python 3.6 的 RPi.GPIO,但不知何故它无法连接到 python.org 网站。我已经安装了 2.7、3.0 和 3.6 的 pip,所以当我去执行以下操作时:

sudo pip3.6 install RPi.GPIO

我收到此错误:

pi@raspberrypi:~ $ sudo pip3.6 install RPi.GPIO
pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用。
收集 RPi.GPIO
无法获取 URL https://pypi.python.org/simple/rpi-gpio/:确认 ssl 证书时出现问题:无法连接到 HTTPS URL,因为 SSL 模块不可用。 - 跳过
找不到满足 RPi.GPIO 要求的版本(来自版本:)
没有为 RPi.GPIO 找到匹配的分布

我确实尝试了sudo apt-get install openssl 等等,但它仍然不起作用。我可以在我的台式机和手机上完美地访问该网站,但我的 Raspberry Pi 根本无法访问。知道我能做什么吗?

【问题讨论】:

  • 你可以试试http_proxy="" && pip3.6 install RPi.GPIO
  • @HaifengZhang 同样的问题。

标签: python raspberry-pi pip


【解决方案1】:

安装 python 3.6 之前,您需要安装所需的库。

sudo apt-get install build-essential checkinstall 
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

你在 PI 上安装了这些吗?

更多详情here

【讨论】:

  • 是的,我确实安装了它们:i.imgur.com/mvkDqQe.png - 如果它们是在我安装 Python 3.6 之前或之后安装的......那是未知的。
  • 这里的顺序很重要。可以卸载python重新安装吗?
  • 我想,但这明智吗?
  • 只要你在卸载时没有运行任何依赖于安装 python 的东西,你应该没问题。
  • @MortenMoulder 你是如何卸载python3.6的?我也经历了编译和安装的全过程,但不知道如何逆转。
【解决方案2】:

我也遇到了同样的问题,最后我按照下面的方法解决了

  1. 检查openssl-devel是否已经安装。 我的操作系统是centos6,安装命令如下

    yum install openssl-devel -y

  2. 编辑python源配置文件

    vi /{yourpythonsource}/Modules/Setup

。取消注释部分内容如下

# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c



# Socket module helper for SSL support; you must comment out the other 
# socket line above, and possibly edit the SSL variable: 
#SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto

重新编译python。

cd /{yourpythonsource}
make && make install

现在 pip3 应该没问题了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-16
    • 2022-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    相关资源
    最近更新 更多