centos Python 3没有名为'_ssl'的模块

hgb9j2n6  于 2022-11-07  发布在  Python
关注(0)|答案(2)|浏览(171)

问题

当我运行python3应用程序时,它显示

File "/usr/local/lib/python3.6/ssl.py", line 101, in <module>
import _ssl             # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'

"我所做的一切"
安装依赖项

yum install openssl-devel

我还编辑了setup.py文件并重新编译了python3


# Detect SSL support for the socket module (via _ssl)

search_for_ssl_incs_in = [
                          '/usr/local/ssl/include',
                          '/usr/local/include/openssl', #I've added this line
                          '/usr/contrib/ssl/include/'
                         ]

我已经用路径配置编译了openssl


# tar -xzvf openssl-***.tar.gz

# ./config --prefix=/usr/local --openssldir=/usr/local/openssl

# make & make install

操作系统中心7
Python 3.6语言

txu3uszq

txu3uszq1#

我找到了一些解决办法:
如果您使用Centos,请尝试:

s1

yum install openssl-devel -y

那么当你编译的时候,就像这样把--和-ssl附加在一起

./configure prefix=/usr/local/share/python3 --with-ssl

秒2

--安装依赖库,使共享编译流畅

yum install -y zlib zlib-devel openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

(ubuntu)sudo apt-get install libz-dev

wget --no-check-certificate http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=$HOME/openssl shared zlib
make && make install

--配置共享ld库路径,以便编译器可以找到它

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
source $HOME/.bash_profile

(zsh用户与.zsh_profile有一些不同)--用openssl路径编译

./configure prefix=/usr/local/share/python3 --with-openssl=$HOME/openssl
ctzwtxfj

ctzwtxfj2#

我遇到了同样的问题,我从源代码安装了python,并且在编译时没有启用ssl选项。所以我在下面的article中找到了解决方案。你需要找到ssl部分Modules/Setup.dist并取消注解该部分。希望这能帮助一些人。

相关问题