属性错误: 'module'对象没有属性'SSL_ST_INIT'。

4

我在使用twilio时遇到了SSL错误。有人有什么建议吗?

错误:

Traceback (most recent call last):
  File "communication_easy/that_guy/communicate.py", line 4, in <module>
    from twilio.rest import Client
  File "/usr/local/lib/python2.7/dist-packages/twilio/rest/__init__.py", line 14, in <module>
    from twilio.http.http_client import TwilioHttpClient
  File "/usr/local/lib/python2.7/dist-packages/twilio/http/http_client.py", line 1, in <module>
    from requests import Request, Session, hooks
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 84, in <module>
    from urllib3.contrib import pyopenssl
  File "/usr/local/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 46, in <module>
    import OpenSSL.SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 118, in <module>
    SSL_ST_INIT = _lib.SSL_ST_INIT
AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

代码:

import random
from twilio.rest import Client

TWILIO_ACCOUNT_SID = "asdfasdfsdfsdf"
TWILIO_AUTH_TOKEN  = "asdfasdfasdfasf"
TWILIO_NUMBER = "+5555555"


def send_text(body, target_phone_number):
    client = Client(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)
    message = client.messages.create(body=body, from_=TWILIO_NUMBER, to=target_phone_number)

send_text(blah, blah)
1个回答

2
根据这个 github 问题单,该问题可通过升级到pyOpenSSL>=16.2.0来解决。
尝试:
pip install pyOpenSSL -U

我已经这样做了,但它将 pip 默认为 python3...如果您不介意的话,使用 pip 是否现在默认为 python3? - codyc4321
哪个pip取决于操作系统和发行版,可以使用which pythonwhere python找到Python安装目录,在那里使用scripts目录中的pip。 - Stephen Rauch
$ which python /usr/bin/python - codyc4321
这可能是发行版中的默认Python。我建议尝试使用pip2pip3两个版本,看看哪一个适合您的情况。 - Stephen Rauch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接