Подтвердить что ты не робот

Ошибка easy_install PyOpenSSL

Любая идея о том, что вызывает ошибку ниже?

Я использую Linux centos с openssl-devel.i386 0.9.8e-12.el5_5.7

$ easy_install PyOpenSSL
Searching for PyOpenSSL
Reading http://pypi.python.org/simple/PyOpenSSL/
Reading http://launchpad.net/pyopenssl
Reading http://pyopenssl.sourceforge.net/
Best match: pyOpenSSL 0.13
Downloading http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.13.tar.gz#md5=767bca18a71178ca353dff9e10941929
Processing pyOpenSSL-0.13.tar.gz
Running pyOpenSSL-0.13/setup.py -q bdist_egg --dist-dir /tmp/easy_install-0Dunib/pyOpenSSL-0.13/egg-dist-tmp-aV6OCC
warning: no previously-included files matching '*.pyc' found anywhere in distribution
OpenSSL/ssl/connection.c: In function ‘ssl_Connection_set_context’:
OpenSSL/ssl/connection.c:289: warning: implicit declaration of function ‘SSL_set_SSL_CTX’
OpenSSL/ssl/connection.c: In function ‘ssl_Connection_get_servername’:
OpenSSL/ssl/connection.c:313: error: ‘TLSEXT_NAMETYPE_host_name’ undeclared (first use in this function)
OpenSSL/ssl/connection.c:313: error: (Each undeclared identifier is reported only once
OpenSSL/ssl/connection.c:313: error: for each function it appears in.)
OpenSSL/ssl/connection.c:320: warning: implicit declaration of function ‘SSL_get_servername’
OpenSSL/ssl/connection.c:320: warning: assignment makes pointer from integer without a cast
OpenSSL/ssl/connection.c: In function ‘ssl_Connection_set_tlsext_host_name’:
OpenSSL/ssl/connection.c:346: warning: implicit declaration of function ‘SSL_set_tlsext_host_name’
error: Setup script exited with error: command 'gcc' failed with exit status 1
4b9b3361

Ответ 1

Чтобы установить его в virtualenv, вы должны сначала установить необходимые пакеты. На ubuntu:

sudo apt-get install python-dev libffi-dev libssl-dev

Затем вы можете просто ввести:

pip install pyopenssl

Ответ 2

pyOpenSSL 0.13 введена поддержка расширения (S) erver (N) ame (I) расширения TLS. Это расширение позволяет клиентам сообщать серверу, с каким именем хоста они будут разговаривать, позволяя серверу выбрать подходящий сертификат для представления.

Поддержка SNI была введена в OpenSSL 0.9.8f. Таким образом, pyOpenSSL 0.13 будет строить с OpenSSL 0.9.8f или новее, но не OpenSSL 0.9.8e или ранее, где API-интерфейсы, которые он ожидает обернуть, не существуют.

Возможно, более новая версия pyOpenSSL сделает эти привязки опционными, восстановив поддержку OpenSSL 0.9.8e и ранее. Тем не менее, более новая версия OpenSSL также будет работать с pyOpenSSL 0.13.

Проект pyOpenSSL выдает предварительные выпуски. Широкое тестирование предварительных выпусков может помочь избежать подобных ситуаций. Я рекомендую всем, кто полагается на pyOpenSSL, подписаться на (очень низкий трафик) список пользователей pyOpenSSL (или на SourceForge) и выполните то, что вы можете проверить, когда выйдет предварительный выпуск, до того, как релиз будет завершен.

Ответ 3

Я столкнулся с этим, пытаясь установить Scrapy. Для меня ответ Танасиса не сработал. После еще нескольких Google и случайным образом устанавливая вещи

yum install python-devel

разрешено запустить Scrapy для меня (CentOS release 6.3 (Final))

Ответ 4

Не совсем то, что задано, но в Ubuntu 12.04 его можно установить с помощью

sudo apt-get install python-openssl

Ответ 5

Для меня мне пришлось установить libss opensl-devel:

yum install openssl-devel

Была попытка установить циклон/торнадо/скрученный python evented lib.

Ответ 6

Если вам не нужно использовать последний pyOpenSSL, просто откат до 0.12, это самый простой способ.

pip install pyOpenSSL==0.12

Отметьте для ответа Жан-Пола для подробностей.

Ответ 7

Я не мог установить libssl-devel или libssl-dev, но это сработало для меня на CentOS 6 (когда ранее был установлен pyOpenSSL 0.13.1):

sudo yum -y remove pyOpenSSL.x86_64
sudo yum -y install libffi-devel
#sudo yum -y install libssl-devel 
sudo yum -y install openssl-devel 
sudo yum -y install python-devel
sudo pip install pyopenssl

Ответ 9

Попробуйте установить:

sudo apt-get install -y python-dev libssl-dev libffi-dev