AttributeError:'module'对象没有属性'sslwrap'

时间:2016-04-11 16:27:41

标签: python python-2.7 amazon-web-services ssl boto

我试图在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)

提前致谢。

2 个答案:

答案 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/)为我解决了这个问题。