我试图在python(2.7.8)中使用boto与aws建立ssl连接。内部它正在使用gevent函数。我收到这样的错误 -
` File "/usr/lib/python2.7/site-packages/boto/sts/connection.py", line 384, in assume_role
return self.get_object("AssumeRole", params, AssumedRole, verb="POST")
File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1192, in get_object
response = self.make_request(action, params, path, verb)
File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1116, in make_request
return self._mexe(http_request)
File "/usr/lib/python2.7/site-packages/boto/connection.py", line 943, in _mexe
request.body, request.headers)
File "/usr/lib64/python2.7/httplib.py", line 995, in request
self._send_request(method, url, body, headers)
File "/usr/lib64/python2.7/httplib.py", line 1029, in _send_request
self.endheaders(body)
File "/usr/lib64/python2.7/httplib.py", line 991, in endheaders
self._send_output(message_body)
File "/usr/lib64/python2.7/httplib.py", line 844, in _send_output
self.send(msg)
File "/usr/lib64/python2.7/httplib.py", line 806, in send
self.connect()
File "/usr/lib/python2.7/site-packages/boto/https_connection.py", line 131, in connect
ca_certs=self.ca_certs)
File "/usr/lib64/python2.7/site-packages/gevent/ssl.py", line 383, in wrap_socket
ciphers=ciphers)
File "/usr/lib64/python2.7/site-packages/gevent/ssl.py", line 85, in __init__
self._sslobj = _ssl.sslwrap(self._sock, server_side,
AttributeError: "module" object has no attribute "sslwrap"
我正在使用amazon linux machine(AWS)
提前致谢。
答案 0 :(得分:3)
我认为这可能与https://github.com/gevent/gevent/issues/477
有关将gevent从1.0.1
升级到1.1.1
为我解决了这个问题:
$ pip install --upgrade gevent
答案 1 :(得分:0)
使用Python 2.7.12中的pip(目前在官方Ubuntu 14.04 ppa中使用pip)时遇到了同样的问题。
更新到Python 2.7.13(https://www.python.org/ftp/python/2.7.13/)为我解决了这个问题。