gpt4 book ai didi

解决Python找不到ssl模块问题 No module named _ssl的方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章解决Python找不到ssl模块问题 No module named _ssl的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

python安装完毕后,提示找不到ssl模块:

?
1
2
3
4
5
6
7
8
9
10
11
[www@pythontab.com ~]$ python
python 2.7 . 15 (default, oct 23 2018 , 18 : 08 : 43 )
[gcc 4.4 . 7 20120313 (red hat 4.4 . 7 - 23 )] on linux2
type "help" , "copyright" , "credits" or "license" for more information.
>>> import ssl
traceback (most recent call last):
file "<stdin>" , line 1 , in <module>
file "/usr/local/python27/lib/python2.7/ssl.py" , line 60 , in <module>
import _ssl # if we can't import it, let the error propagate
importerror: no module named _ssl
>>>

解决方法:

1. 查看openssl安装包,发现缺少openssl-devel包 。

?
1
2
3
4
[www@pythontab.com ~]$ rpm - aq|grep openssl
openssl - 0.9 . 8e - 20.el5
openssl - 0.9 . 8e - 20.el5
[www@pythontab.com ~]$

2. yum安装openssl-devel 。

?
1
2
3
4
5
[www@pythontab.com ~]$ yum install openssl - devel - y
#查看安装结果
[www@pythontab.com ~]$ rpm - aq|grep openssl
openssl - devel - 1.0 . 1e - 57.el6 .x86_64
openssl - 1.0 . 1e - 57.el6 .x86_64

3. 重新编译python 。

修改setup文件 。

?
1
vi / src / python - 2.7 . 15 / modules / setup

修改结果如下:

?
1
2
3
4
5
6
7
8
# 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

4. 重新编译 。

进入源码目录,重新编译安装 。

?
1
2
3
[www@pythontab.com ~]$ cd / src / python - 2.7 . 15 /
[www@pythontab.com ~]$ make
[www@pythontab.com ~]$ make install

5. 测试,已可正常使用.

?
1
2
3
4
5
6
[www@pythontab.com ~]$ python
python 2.7 . 15 (default, oct 23 2018 , 19 : 08 : 43 )
[gcc 4.4 . 7 20120313 (red hat 4.4 . 7 - 23 )] on linux2
type "help" , "copyright" , "credits" or "license" for more information.
>>> import ssl
>>>

注:如需保留旧版本的就不需要执行 6 .7两部 。

6 重命名旧版本的python依赖 。

?
1
2
ll / usr / bin | grep python
mv / usr / bin / python / usr / bin / python2. 7

7 删除旧的软链接,创建新的软链接到最新的python 。

?
1
2
3
rm - rf / usr / bin / python
ln - s / usr / local / bin / python3. 6 / usr / bin / python
python - v

使用yum命令报错file "/usr/bin/yum", line 30 except keyboardinterrupt, e

问题出现原因:

yum包管理是使用python2.x写的,将python2.x升级到python3.1.3以后,由于python版本语法兼容性导致问题出现 。

解决办法:

修改yum配置文件,将python版本指向以前的旧版本 。

?
1
2
3
4
5
6
7
# vi /usr/bin/yum
#!/usr/bin/python2.7
修改urlgrabber - ext - down文件,更改python版本
 
# vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7
could not fetch url https: / / pypi.python.org / simple / six / : there was a problem confirming the ssl certificate: can't connect to https url because the ssl module is not available. - skipping

如需安装pip 。

下载相关文件 。

?
1
curl https: / / bootstrap.pypa.io / get - pip.py - o get - pip.py

执行 。

?
1
/ usr / local / python / bin / python3 get - pip.py

添加环境变量 。

?
1
vim ~ / .bash_profile

添加下面这条参数 。

?
1
export path = / usr / local / python / bin :$path

保存 。

?
1
source ~ / .bash_profile

测试 。

执行 。

?
1
2
3
4
5
[root@huo ~] # python3
python 3.6 . 5 (default, apr 1 2018 , 20 : 41 : 34 )
[gcc 4.8 . 5 20150623 (red hat 4.8 . 5 - 16 )] on linux
type "help" , "copyright" , "credits" or "license" for more information.
>>>

执行脚本如下

vim install_python.sh 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash
echo "正在安装相关组件"
yum install - y openssl - devel bzip2 - devel expat - devel gdbm - devel readline - devel sqlite - devel gcc - c + + gcc openssl - devel
 
echo "下载安装包"
wget https: / / www.python.org / ftp / python / 3.6 . 5 / python - 3.6 . 5.tgz
 
echo "正在解压安装包"
tar - xf python - 3.6 . 5.tgz - c / root / && cd / root / python - 3.6 . 5 /
 
echo "添加ssl支持"
cat >> / root / python - 3.6 . 5 / modules / setup.dist << "eof"
_socket socketmodule.c
 
ssl = / usr / local / ssl
_ssl _ssl.c \
- duse_ssl - i$(ssl) / include - i$(ssl) / include / openssl \
- l$(ssl) / lib - lssl - lcrypto
eof
 
echo "正在编译安装python"
. / configure - - prefix = / usr / local / python && make && make install
cd / root
 
echo "删除安装包"
rm - rf / root / python - 3.6 . 5.tgz && rm - rf / root / python - 3.6 . 5
 
echo "正在添加环境变量"
echo "export path=/usr/local/python/bin:$path" >> ~ / .bash_profile
source ~ / .bash_profile
 
echo "安装完成,请执行python3进行测试"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://www.pythontab.com/html/2018/pythonjichu_1024/1366.html 。

最后此篇关于解决Python找不到ssl模块问题 No module named _ssl的方法的文章就讲到这里了,如果你想了解更多关于解决Python找不到ssl模块问题 No module named _ssl的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com