Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3没有名为'_ssl';_Python_Python 3.x_Centos_Pyopenssl - Fatal编程技术网

Python 3没有名为'_ssl';

Python 3没有名为'_ssl';,python,python-3.x,centos,pyopenssl,Python,Python 3.x,Centos,Pyopenssl,问题 当我运行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' 我还编辑了setup.py文件并重新编译了python3 # Detect

问题

当我运行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'
我还编辑了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

CentOS 7


Python3.6

我也面临同样的问题,我从源代码安装了Python,在编译时没有启用ssl选项。所以我在下面找到了解决方案。您需要找到
ssl
部分
Modules/Setup.dist
并取消对该部分的注释。希望这能帮助别人

我找到了一些解决办法:

如果使用centos,请尝试:

s1 然后在编译时,使用ssl追加,如下所示

./configure prefix=/usr/local/share/python3 --with-ssl
s2 --安装依赖库,使共享编译流畅

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库路径,以便compile可以找到它

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
source $HOME/.bash_profile
(zsh用户与.zsh_配置文件有些不同) --使用openssl路径编译

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

您可以尝试使用--with ssl选项进行编译吗?--with ssl已过期date@Lanston:我面临着同样的问题……你是如何解决的?@Lanston我面临着同样的问题请帮助我你是如何解决的
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
source $HOME/.bash_profile
 ./configure prefix=/usr/local/share/python3 --with-openssl=$HOME/openssl