그러나 curl
명령 자체가 오류와 함께 실패하거나 업그레이드 후에도 "tlsv1 경고 프로토콜 버전"이 지속되면 pip
운영 체제의 기본 OpenSSL 라이브러리 버전 < 1.0.1
또는 Python 버전 < 2.7.9
(또는 3.4
Python 3의 < )이 최신 TLS 1.2 프로토콜을 지원하지 않음을 의미합니다 것을 pip
요구하기 때문에 PyPI에 연결하는 약 년 전 . 파이썬 인터프리터에서 쉽게 확인할 수 있습니다.
>>> 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
(대신 예상 '5')는 파이썬 다음 stdlib 의미 ssl
구하려면 openssl lib 디렉토리에 컴파일 된 모듈은, (에서 OpenSSL 라이브러리가 이상 업데이트 할 수 있습니다 경우에도)을 TLSv1.2 프로토콜에 대한 지원이 부족하다.
다행히도 추가 Python 패키지를 수동으로 설치하여 Python (및 전체 시스템) 을 업그레이드하지 않고도 해결할 수 있습니다 . 자세한 단계별 가이드는 여기에서 확인할 수 있습니다 .
참고 curl
와 pip
및 wget
모든 것은 SSL 연결을 (사용 설정에 대해 동일한 OpenSSL을 lib 디렉토리에 따라 $ openssl version
명령). libcurl에서 지원은 컬 버전 1.2 이후 TLS 7.34 ,하지만 오래된 컬 버전은 해야 연결할 수 있다면 당신은 OpenSSL 버전 1.0.2 (이상)했다.
PS
의 경우 파이썬 3 , 사용하시기 바랍니다 python3
및 pip3
사방 (당신이에하지 않는 한 venv / VIRTUALENV)에 포함 curl
에서 명령 위 :
$ curl https://bootstrap.pypa.io/get-pip.py | python3 --user