“如何修复”;Python中的ssl模块不可用;百分之百

“如何修复”;Python中的ssl模块不可用;百分之百,python,centos,Python,Centos,在GoDaddy VPS CentOs 7上安装新的Python 3.7.1。 尝试pip3安装virtualenv或python 3-m pip安装virtualenv并获取: pip配置了需要TLS/SSL的位置,但是Python中的SSL模块不可用 openssl-devel已安装且为最新版本 这个问题已经被问了很多次,也被回答了很多次,但是我找到的解决方案并没有解决我的问题。 谢谢大家! 我在以下方面尝试了基于CentOs和Linux的解决方案: #允许构建python ssl库 yu

在GoDaddy VPS CentOs 7上安装新的Python 3.7.1。 尝试pip3安装virtualenv或python 3-m pip安装virtualenv并获取:

pip配置了需要TLS/SSL的位置,但是Python中的SSL模块不可用

openssl-devel已安装且为最新版本

这个问题已经被问了很多次,也被回答了很多次,但是我找到的解决方案并没有解决我的问题。 谢谢大家!

我在以下方面尝试了基于CentOs和Linux的解决方案:

#允许构建python ssl库 yum安装openssl-devel #下载任何python版本的源代码 cd/usr/src wget tarxf Python-3.7.1.tar.xz cd Python-3.7.1

  # Configure the build w/ your installed libraries
  ./configure

  # Install into /usr/local/bin/python3.6, don't overwrite global python bin
  make altinstall

yum安装zlib-devel-bzip2-devel-openssl-devel-ncurses-devel-sqlite-devel-readline-devel-tk-devel-gdbm-devel-db4-devel-libpcap-devel-xz-devel


解决方案:当openssl版本不兼容时,我看到了这个错误。当您在不是最新版本的Linux系统上安装较新的Python(如3.7.2)时,更可能出现这种情况

我将检查这个版本的Python需要什么版本的SSL库,如果需要,在本地安装它们

以下是构建SSL库的基本说明:

您将希望再次构建Python,并在调用./config时添加以下选项:

--with-openssl=/path/to/your/local/install
请阅读

基本上,在进行安装之前,您需要先安装openssl,并在python源代码的Modules/Setup文件中取消对ssl相关行的注释。
这对我安装Python 3.8很有用。

这里是一个适用于Python 3.7.9和CentOS 7.8.2003的工作解决方案:

su - root
yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel -y
cd /usr/src
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
tar xzf Python-3.7.9.tgz
cd Python-3.7.9
/usr/src/Python-3.7.9/Modules/Setup.dist
中,取消注释这4行:

SSL=/usr/local/ssl
_ssl _ssl.c \
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    -L$(SSL)/lib -lssl -lcrypto
最后:

./configure --enable-optimizations
make altinstall

虽然这可能解决了这个问题,但我不认为这是一个解决方案。3.6中没有包含3.7的一些功能。谢谢,现在我可以在centos8上使用,这是Python的最新版本,而不是3.6.8
./configure --enable-optimizations
make altinstall