pip无法确认SSL证书:SSL模块不可用

Mor*_*der 5 python pip raspberry-pi

我正在尝试在我的Raspberry Pi Zero W上为Python 3.6安装RPi.GPIO,但不知何故它不会连接到python.org网站.我安装了2.7,3.0和3.6安装的pip,所以当我去做以下事情时:

sudo pip3.6 install RPi.GPIO
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

pi @ raspberrypi:〜$ sudo pip3.6安装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根本不会.知道我能做什么吗?

Col*_*win 11

安装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
Run Code Online (Sandbox Code Playgroud)

你在PI上安装了这些吗?

更多细节在这里

  • 在我使用`python3.6`的情况下,这些都没有成功 (2认同)

小智 7

我遇到了同样的问题,最后我通过以下方式解决了

  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
Run Code Online (Sandbox Code Playgroud)

重新编译python.

cd /{yourpythonsource}
make && make install
Run Code Online (Sandbox Code Playgroud)

现在pip3应该没问题.