Ancak curlkomutun kendisi hatayla başarısız olursa veya "tlsv1 uyarı protokolü sürümü" yükseltmeden sonra bile devam ederse pip, işletim sisteminizin temeldeki OpenSSL kitaplığı sürümü < 1.0.1veya Python sürümü < 2.7.9(veya 3.4Python 3'te < ) daha yeni TLS 1.2 protokolünü desteklemediği anlamına gelir bu pipihtiyaçlar beri PyPI bağlanmak için bir yıl önce . Python yorumlayıcısında kolayca kontrol edebilirsiniz:
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 0.9.8o 01 Jun 2010'
>>> ssl.PROTOCOL_TLSv1_2
AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
AttributeError(Yerine beklenen '5') Kayıt Python'un stdlib demektir ssleski Openssl lib karşı derlenmiş modül, (openssl kütüphanesi veya daha sonra güncellenmiş olabilir bile) TLSv1.2 protokolü için destek yoktur.
Neyse ki, Python'u (ve tüm sistemi) yükseltmeden , ekstra Python paketleri manuel olarak kurarak çözülebilir - ayrıntılı adım adım kılavuz burada Stackoverflow'da bulunabilir .
Not curlve pipve wgettüm SSL bağlantıları (kullanım kurulması için aynı OpenSSL lib bağlıdır $ openssl versionkomutu). libcurl destekleri bukle sürümü beri 1.2 TLS 7,34 , ancak eski bukle versiyonları gerektiğini bağlamak mümkün olmadığını OpenSSL sürümü 1.0.2 (veya üstü) vardı.
PS
için Python 3 , kullanın lütfen python3ve pip3her yerde (eğer olmadıkça bir venv / Virtualenv) dahil curldan komuta yukarıdaki :
$ curl https://bootstrap.pypa.io/get-pip.py | python3 --user