Ancak curl
komutun 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.1
veya Python sürümü < 2.7.9
(veya 3.4
Python 3'te < ) daha yeni TLS 1.2 protokolünü desteklemediği anlamına gelir bu pip
ihtiyaç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 ssl
eski 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 curl
ve pip
ve wget
tüm SSL bağlantıları (kullanım kurulması için aynı OpenSSL lib bağlıdır $ openssl version
komutu). 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 python3
ve pip3
her yerde (eğer olmadıkça bir venv / Virtualenv) dahil curl
dan komuta yukarıdaki :
$ curl https://bootstrap.pypa.io/get-pip.py | python3 --user