名称错误:未定义名称“PROTOCOL\TLS”

2024-04-23 22:43:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的Mac终端上导入Biopython模块,但它抛出以下错误。如果有人能帮我解决这个问题,那将是非常有帮助的。在

>>> from Bio import SeqIO
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/Bio/SeqIO/__init__.py", line 317, in <module>
    from Bio._py3k import basestring
  File "/Library/Python/2.7/site-packages/Bio/_py3k/__init__.py", line 235, in <module>
    from urllib2 import urlopen, Request
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 94, in <module>
    import httplib
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1230, in <module>
    import ssl
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 133, in <module>
    PROTOCOL_SSLv23 = PROTOCOL_TLS
NameError: name 'PROTOCOL_TLS' is not defined

谢谢你!!!在


Tags: infrompyimportliblocallinelibrary
1条回答
网友
1楼 · 发布于 2024-04-23 22:43:19

^{} was added in 2.7.13。在

奇怪的是,您的错误似乎出在ssl模块本身,它应该知道这个常量;我猜提供OpenSSL的C接口的_ssl模块出了严重的问题。我知道mac和OpenSSL一直是CPython开发人员头疼的问题,但我不能给你更多。在

尝试执行import _ssl并确保_ssl.PROTOCOL_TLS存在,并且{}来自一个正常的文件系统位置(靠近ssl模块本身);如果不存在,您的_ssl模块就是个问题。有可能在你的_ssl中包含了一个2.7.13之前的模块,sys.path,甚至在加载2.7.13后的ssl模块时,它希望在_ssl中找到{},并在找不到它时爆炸。在

相关问题 更多 >