2014-12-16 5 views
4

В настоящее время я использую pyOpenssl, и он использует openssl 1.0.1f, который установлен системой. Теперь я установить OpenSSL 1.0.1j из источника, и установить новый путь версии библиотеки в LD_LIBRARY_PATH, в это время, когда я работает мой файл ру, он будет производить ошибку:Как использовать последнюю библиотеку openssl с pyOpenSSL?

File "sslcert.py", line 5, in <module> 
from OpenSSL import SSL, _util, crypto 
... 

File "/usr/local/lib/python2.7/dist-packages/cffi-0.8.6-py2.7-linux-x86_64.egg/cffi/vengine_cpy.py", line 149, in load_library 
    raise ffiplatform.VerificationError(error) 
cffi.ffiplatform.VerificationError: 
importing '/usr/local/lib/python2.7/dist-packages/cryptography-0.6.1-py2.7-linux-x86_64.egg/cryptography/_Cryptography_cffi_36a40ff0x2bad1bae.so':  
/usr/local/lib/python2.7/dist-packages/cryptography-0.6.1-py2.7-linux-x86_64.egg/cryptography/_Cryptography_cffi_36a40ff0x2bad1bae.so: 
symbol EC_GFp_nistp521_method, version OPENSSL_1.0.1 not defined in file libcrypto.so.1.0.0 with link time reference 

Я Интересно, используя последнюю библиотеку OpenSSL для pyOpenssl, Как решить эту проблему?

ответ

3

Возможно, вам придется перекомпилировать cryptography против более новой версии OpenSSL.

Убедитесь, что вы также устанавливаете заголовки разработки для OpenSSL, а затем перестраиваете (возможно, проще всего, просто переустановив). криптография.

Для этого вы можете изучить использование virtualenv, чтобы ваши новые версии были отделены от уже установленных версий.

Смежные вопросы