安装pyOpenSSL时出错
我正在用pip安装pyOpenSSL,使用的Python版本是2.7,操作系统是Linux。安装完pyOpenSSL后,当我在Python中尝试导入这个模块时,出现了以下错误:
Python 2.7.5 (default, Jun 27 2013, 03:17:39)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import OpenSSL
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/usr/local/lib/python2.7/site-packages/OpenSSL/SSL.py", line 84, in <module>
OP_NO_TICKET = _lib.SSL_OP_NO_TICKET
AttributeError: 'FFILibrary' object has no attribute 'SSL_OP_NO_TICKET'
>>>
我尝试卸载pyOpenSSL然后再安装一次,但还是出现了同样的错误。
2 个回答
0
这个问题的解决办法可以在这里找到:https://github.com/pyca/pyopenssl/issues/130
其实,你可以手动去修复这个问题(虽然不太推荐,但操作起来很简单)。
或者你也可以从GitHub上下载一个压缩包。
解决办法的链接是:https://github.com/pyca/pyopenssl/commit/e7a6939a22a4290fff7aafe39dd0db85157d5e05
这个解决办法是应用在SSL.py文件上的。
-OP_NO_TICKET = _lib.SSL_OP_NO_TICKET
+try:
+ OP_NO_TICKET = _lib.SSL_OP_NO_TICKET
+except AttributeError:
+ pass
3
这是因为低版本的pyopenssl没有定义SSL_OP_NO_TICKET这个选项。你可以从https://github.com/pyca/pyopenssl.git克隆最新的pyopenssl,然后安装它,这样就没问题了。谢谢。