问题
当我运行你的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 文件和retrmplie 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
CentOS 7
Python 3.6
答案 0 :(得分:3)
我遇到了同样的问题,我从源代码安装了python,并且在编译时没有启用ssl选项。所以我在以下article中找到了解决方案。您需要找到ssl
部分Modules/Setup.dist
并取消注释该部分。希望这会对某人有所帮助。
答案 1 :(得分:1)
我找到了解决方法:
如果您使用centos,请尝试:
yum install openssl-devel -y
然后在编译时,像这样附加--with-ssl
./configure prefix=/usr/local/share/python3 --with-ssl
-安装依赖库,使共享编译流畅
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
wget 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