Как правильно импортировать шифрование из OpenSSL (pyOpenSSL) в командной строке?

Среда: Ubuntu 12.04.5 LTS x64, OpenSSL v1.0.2h, pyOpenSSL v16.1.0, Python v2.7.3, Eclipse Oxygen.1a (4.7.1a).

Программа с именем 'test.py':

#/usr/bin/env python
#encoding:utf-8

from OpenSSL import crypto
print crypto.__file__

print "hello world"

Эта программа запускается в Eclipse, и получается следующий результат.

/usr/local/lib/python2.7/site-packages/OpenSSL/crypto.pyc
hello world

Тем не менее, когда та же программа запускается в командной строке, возникает ошибка, и информация отображается следующим образом.

$ python test.py
Traceback (most recent call last):
  File "test.py", line 4, in <module>
    from OpenSSL import crypto
  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/rand.py", line 12, in <module>
    from OpenSSL._util import (
  File "/usr/local/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /usr/local/lib/python2.7/site-packages/_cffi_backend.so: undefined symbol: PyUnicodeUCS2_FromUnicode

Программа в Eclipse и командной строке импортирует один и тот же "crypto.pyc", почему он работает в Eclipse при сбое в командной строке (UCS2)? Как правильно импортировать криптографию из OpenSSL в командной строке? Заранее спасибо!

0 ответов

Другие вопросы по тегам