2016-05-18 12 views
6

के साथ 'PROTOCOL_TLSv1_2' कोई विशेषता नहीं है। मुझे अपने मैक पर मेरे पायथन इंस्टॉलेशन के लिए tls v1.2 समर्थन प्राप्त करने में समस्याएं आ रही हैं। यहाँविशेषताइंटर: 'मॉड्यूल' ऑब्जेक्ट में Python 2.7.11

openssl version 
OpenSSL 1.0.2h 3 May 2016 

और मेरे अजगर संस्करण है:

यह मेरा openssl संस्करण है

>>> 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' 

इस पढ़ना:

python --version 
Python 2.7.11 

यह मैं कैसे परीक्षण कर रहा हूँ https://docs.python.org/2/library/ssl.html यह कहता है:

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.

तो मेरे पास OpenSSL 1.0.2h की स्थापना के साथ tlsv1.2 समर्थन की आवश्यकता है।

किसी के पास कोई विचार है?

+2

कृपया जांचें कि आपने न केवल ओपनएसएल का नया संस्करण स्थापित किया है, लेकिन आप वास्तव में इसे पायथन के अंदर उपयोग करते हैं, यानी 'ssl \ nprint ssl.OPENSSL_VERSION' –

+1

आयात करें हाँ, यह समस्या थी। मैंने 'ब्रू इंस्टॉल पायथन - साथ-ब्रूड-ओपनएसएल' के साथ पुनः स्थापित किया। – gprime

+0

gprime, क्या आप इसे उत्तर के रूप में लिख सकते हैं? –

उत्तर

2

समस्या यह थी कि ओपनएसएल संस्करण पायथन का उपयोग टीएलएस 1.2 का समर्थन नहीं करता था।

मैं काढ़ा साथ openssl स्थापित और फिर अजगर पुनर्स्थापित openssl मैं काढ़ा के साथ स्थापित उपयोग करने के लिए यह कह रही:

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

तो सब कुछ काम किया!

+1

नवीनतम पायथन स्थापित किए बिना कोई समाधान? –

+0

क्षमा करें, मुझे नहीं पता कि। – gprime

+1

क्या उबंटू, @gprime के लिए एक समान समाधान है? मेरे पास एक ही सटीक मुद्दा है, लेकिन उबंटू पर Django के साथ। – ifconfig

संबंधित मुद्दे

 संबंधित मुद्दे