- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的 http 服务器基于带有 Python 2.7.6 的 BaseHTTPServer。现在我希望它支持 ssl 传输,也就是所谓的 https。
我已经安装了 pyOpenSSL 并重新编译了支持 ssl 的 python 源代码。当我在我的 python 解释器中尝试 import ssl
时它确实有效,但是当我在我的服务器上运行代码时它不起作用。错误日志是这样的:
import _ssl # if we can't import it, let the error propagate
看起来很奇怪,不是吗?我的操作系统是 Debian Linux 发行版。我已经尝试了几天在互联网上可以找到的各种方法,任何人都可以帮助我摆脱困境?
我试图直接在服务器代码中“导入 _ssl”,但它提醒我:
>>>callstack
Traceback (most recent call last):
File "./script/main.py", line 85, in process
net_flag = net_api_process()
File "./script/core/netbase/interface.py", line 96, in net_api_process
flag1 = network.instance().process()
File "./script/core/netbase/network.py", line 271, in process
if network.process(max_events):
File "./script/core/netbase/network.py", line 75, in on_incomin_stream
self.on_package(buf)
File "./script/core/netbase/network.py", line 78, in on_package
self.f_on_package(self, buf)
File "./script/client/behavior.py", line 68, in on_package
handler.OnPackage(pack, cmd, conn.m_uid, conn)
File "./script/client/handler.py", line 288, in OnPackage
func(uid, conn, pack)
File "./script/logic/user_info/modify.py", line 365, in OnModBaseInfo
ModBaseInfo(uid, conn, seq, json_str)
File "./script/logic/user_info/modify.py", line 385, in ModBaseInfo
modify_pub.Start()
File "./script/logic/user_info/modify.py", line 253, in Start
import _ssl
ImportError: No module named _ssl
最佳答案
我终于解决了这个问题!_ssl 模块是 python 的内置模块,但它需要在您的系统上安装 openssl。
先换成root用户!1.安装openssl和libssl-dev。如果在 debian 操作系统上
apt-get install openssl
apt-get install libssl-dev
2.重新编译python
cd Python2.7.6
./configure
make && make install
但实际上,我是这样解决问题的!1.安装openssl我从网上下载了一个包,是openssl-1.0.2d.tar.gz
tar zxvf openssl-1.0.2d.tar.gz
cd openssl-1.0.2d
./config -fPIC //configuration:create path independent libssl.a
make && make install
2.重新编译python2.7,使其支持ssl模块
tar xvf Python-2.7.6.tar
cd Python-2.7.6
vim Modules/Setup.dist
找到下面一行并取消注释。(在vim中使用/ssl+Enter可以快速定位到这些行)
# 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
然后配置和制作,制作安装
./configure --enable-shared //--enable-shared option means to generate dynamic library libpython2.7.so.1.0
make && make install
我们的项目依赖于libpython2.7.so.1.0。现在,我可以使用新的 libpython2.7.so.1.0 在我的 python 脚本或 python 解释器中成功“导入 ssl”或“导入 _ssl”。
关于python - 如何在 python 2.7.6 中导入 _ssl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32856389/
我想从源代码升级默认的python2.6.6到python2.7,我安装了: yum groupinstall "Development tools" yum install zlib-devel b
_ssl.sslwrap 函数似乎检查传入的 sock 是否是 _socket.socket 的子类。我正在传递一个实现 _socket.socket 接口(interface)的类。 它很生气,因为
带有 Python 2.7 的 Ubuntu Maverick: 我不知道如何解决以下导入错误: >>> import ssl Traceback (most recent call last):
问题 当我运行你的 python3 应用程序时,它显示 File "/usr/local/lib/python3.6/ssl.py", line 101, in import _ssl
Ubuntu Maverick w/Python 2.7: 我不知道如何解决以下导入错误: >>> import ssl Traceback (most recent call last): Fi
你知道这个错误吗: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600) 当我运行
环境:Ubuntu 10.04.4 长期支持版Python 3.4.3 我有一个可以在 Windows 上完美运行的 python 3.4 Flask HTTPS 服务器。我需要将它转移到现有的 Ub
Python3 exchangelib 连接错误:_ssl.c:749? 我正在尝试使用 exchangelib 连接到我公司的 Exchange 服务器。我想查看我在 MS Exchange/OWA
当我执行以下行时, req = urllib2.Request(requestwithtoken) self.response = urllib2.urlopen(req,self.request).
我正在尝试这样的简单查询(在 geopy documentation 中出现: from geopy.geocoders import Nominatim geolocator = Nominatim
尝试运行Discord机器人时,出现以下错误: raise ClientConnectorCertificateError( aiohttp.client_exceptions.ClientC
我正在尝试使用 SSL 在 Redhat 中构建 python 2.7。我已经取消注释 Modules/Setup.dist 中的行: SSL=/urs/local/ssl _ssl _ssl.c -
有什么区别 import ssl 和 import _ssl 我在不同的服务器上运行 python 代码。在某些服务器上,两者都适合我。在其他服务器上,只有第二个有效,第一个给了我以下内容: Impo
对于 python request.get 和 request.post 调用,我得到了 [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:646)。以前
我正在尝试在我的 Mac 上安装 nltk,但在按照以下说明操作后我不断收到此错误消息: 安装 NLTK:sudo pip install -U nltk 安装 Numpy(可选):sudo pip
如下配置和安装python2.7: ./configure --enable-shared --with-ssl make install 然后使用命令 python setup.py install
尝试使用 gcc (Debian 6.2.1-7) 6.2.1 20161215 编译 Python 3.4.3 时出现以下错误: Failed to build these modules: _ha
我通过将源代码安装到我的 RHEL4 盒子中来添加 python 2.7.13 作为 altinstall wget --no-check-certificate https://www.python
我一直在尝试使用以下方法安装 python 包: pip install 我得到的是: “警告:在连接被 'SSLError(SSLCertVerificationError(1,'[SSL: CE
我想通过 python 脚本发送邮件并使用批处理文件启动脚本。从批处理文件启动时,我收到错误“ImportError: DLL load failed while importing _ssl”,当直
我是一名优秀的程序员,十分优秀!