2016-05-18 23 views
6

Mac'imdeki python yüklemem için tls v1.2 desteği almam gereken sorunlar yaşıyorum.AttributeError: 'module' nesnesinin Python 2.7.11 ile bir PROTOCOL_TLSv1_2 özniteliği yok

Bu benim Openssl sürümü:

openssl version 
OpenSSL 1.0.2h 3 May 2016 

Ve işte benim piton sürümü:

>>> import ssl 
>>> ssl.PROTOCOL_TLSv1_2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2' 

bu okuma:

python --version 
Python 2.7.11 

Bu test ediyorum nasıl https://docs.python.org/2/library/ssl.html Diyor ki:

Some behavior may be platform dependent, since calls are made to the operating system socket APIs. The installed version of OpenSSL may also cause variations in behavior. For example, TLSv1.1 and TLSv1.2 come with openssl version 1.0.1.

Bu yüzden OpenSSL 1.0.2h yüklememi kullanarak tlsv1.2 desteği için gereksinimim var.

Herhangi bir fikri olan var mı?

+2

Lütfen sadece openssl'nin yeni sürümünü yüklemediniz, ancak aslında python içinde kullandığınızı, yani 'ssl \ nprint ssl.OPENSSL_VERSION' –

+1

içe aktardığınızı kontrol edin. Problem buydu. 'Brew install python --with-brewed-openssl' ile yeniden yükledim. – gprime

+0

gprime, bunu bir cevap olarak yazabilir misiniz? –

cevap

2

Sorun, openssl sürümü python'un TLS 1.2'yi desteklememesiydi.

Ben demlemek openssl yüklü ve sonra ben demlemek yüklü openssl kullanmak için söylüyorum piton yeniden:

$ brew update 
$ brew install openssl 
$ brew install python --with-brewed-openssl 

Sonra her şey çalıştı!

+1

En son Python'u yüklemeden herhangi bir çözüm var mı? –

+0

Üzgünüm, bildiğim kadarıyla değil. – gprime

+1

Ubuntu, @gprime için benzer bir çözüm var mı? Aynı kesin konuya sahibim ama Ubuntu'da Django ile. – ifconfig

İlgili konular