【发布时间】:2014-08-01 22:05:45
【问题描述】:
每当尝试导入 pycurl 时,我都会得到回溯,非常感谢任何有关解决问题的帮助。
Python 的版本是 2.7
>>> import pycurl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/libcurl.so.4: symbol SSLv2_client_method, version OPENSSL_1.0.0 not defined in file libssl.so.1.0.0 with link time reference
【问题讨论】:
-
openssl 版本为 1.0.1
-
看起来 OpenSSL 配置了
no-ssl2。重建 OpenSSL 库 wihoutno-ssl2选项(不推荐);或针对您正在使用的 OpenSSL 版本重建 PyCurl。一定要告诉 PyCurl SSLv2 不可用。 (如果 PyCurl 是智能的,它会看到OPENSSL_NO_SSL2定义在<openssl/opensslconf.h>中)。 -
忘了提及....您可以使用
nm -D --defined-only /usr/lib/libssl.so.1.0.0 | grep -i SSLv2_client_method检查符号。它应该以大写字母T显示,这意味着它在文本部分中定义并且 被导出。但实际上,您不想要任何 SSLv2(或 SSLv3)废话……最好修复 PyCurl。
标签: python curl openssl pycurl