sourcetip

Python 패키지를 설치할 수 없음 [SSL: TLSV1_ALERT_PROTOCOL_VERSION]

fileupload 2023. 7. 7. 21:00
반응형

Python 패키지를 설치할 수 없음 [SSL: TLSV1_ALERT_PROTOCOL_VERSION]

▁using를 사용하여 파이썬 를 설치하려고 합니다.pipSSL 오류 가져오기:

~/projects/base  pre-master±  pip install xdict

Collecting xdict
  Could not fetch URL https://pypi.python.org/simple/xdict/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
  Could not find a version that satisfies the requirement xdict (from versions: )
No matching distribution found for xdict

pip 버전: pip 9.0.1

이 오류를 어떻게 해결합니까?

다음과 같이 파이프를 업그레이드합니다.

curl https://bootstrap.pypa.io/get-pip.py | python

참고: 다음을 사용해야 할 수 있습니다.sudo python가상 환경이 아닌 경우 위에 표시됩니다.

(으)로 표시됨)pip용사를 pippip install --upgrade pip또한 올바르게 업그레이드되지 않습니다.닭과 달걀의 문제일 뿐입니다. pipTLS >= 1.2를 사용하지 않으면 작동하지 않습니다.)

이 상세한 답변에서 언급한 바와 같이, 이는 최근 PIP에 대한 TLS 사용이 중단되었기 때문입니다.Python.org 사이트에서 TLS 버전 1.0 및 1.1에 대한 지원을 중단했습니다.

Python 상태 페이지에서 다음을 수행합니다.

완료됨 - 롤링 차단이 완료되었으며 TLSv1.0 및 TLSv1.1이 비활성화되었습니다.4월 11일 15:37 UTC


PyCharm(가상 환경) 사용자의 경우:

  1. 셸을 사용하여 가상 환경 실행("/venv/bin/activate"를 사용자 경로로 변경)

    source ./venv/bin/activate
    
  2. 업그레이드 실행

    curl https://bootstrap.pypa.io/get-pip.py | python
    
  3. PyCharm 인스턴스를 다시 시작하고 Preference에서 Python 인터프리터를 확인합니다.

하지만 만약에curl명령 자체가 오류로 인해 실패하거나 업그레이드 후에도 "sysv1 경고 프로토콜 버전"이 계속됨pip체제의 버전을 합니다.<1.0.1버전 <파이썬><2.7.9(또는 <3.4 3에서는 Python 3)에서 사용하는 TLS 1.pip약 1년 전부터 PyPI에 연결해야 합니다.Python 인터프리터에서 쉽게 확인할 수 있습니다.

>>> 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된 ') Python 5' 대신) Python stdlib을 ssl이전 openssllib에 대해 컴파일된 모듈은 TLSv1.2 프로토콜을 지원하지 않습니다(openssl 라이브러리를 나중에 업데이트할 수 있거나 업데이트할 수 있더라도).

다행히 Python(및 전체 시스템)을 업그레이드하지 않고도 추가 Python 패키지를 수동으로 설치하여 해결할 수 있습니다. 자세한 단계별 가이드는 Stackoverflow에서 제공됩니다.

메모,curl그리고.pip그리고.wget을 설정하기 합니다("SSL "SSL" "OpenSSL lib" (사용).$ openssl version명령).libcurl은 curl 버전 7.34 이후의 TLS 1.2를 지원하지만 OpenSSL 버전 1.0.2 이상인 경우 이전 curl 버전연결할 수 있어야 합니다.


추신.
Python 3의 경우 다음을 사용하십시오.python3그리고.pip3Venv/virtualenv를 곳 않은 ).curl위에서 명령:
$ curl https://bootstrap.pypa.io/get-pip.py | python3 --user

OS X에서 @Anupam의 응답을 따라 실행한 권한에 관계없이 다음과 같은 오류가 발생했습니다.

환경 오류로 인해 패키지를 설치할 수 없습니다. [Errno 13] 권한이 거부되었습니다. ...

결국 작동한 것은 브라우저에서 PyPI에서 직접 새로운 pip 패키지(9.0.3)를 다운로드하는 것이었습니다. https://pypi.org/simple/pip/, 에서 내용을 추출한 다음 패키지를 로컬로 pip 설치합니다.

pip install ./pip-9.0.3/

이것이 나를 고쳤습니다.[SSL: TLSV1_ALERT_PROTOCOL_VERSION]오류

@아누팜의 해결책은 저에게 효과가 있었습니다.하지만, 나는 사용해야 했습니다.sudo가상 Python 환경의 정확한 위치를 지정합니다.

curl https://bootstrap.pypa.io/get-pip.py | sudo /Users/{your user name}/{path to python}/bin/python

로컬 버전을 업그레이드하기 위해 약간 변형된 버전을 사용했습니다.

curl https://bootstrap.pypa.io/get-pip.py | python - --user

이 문제는 이 요지에 설명된 대로 pip 및 패키지를 홈 디렉토리 아래에 보관하는 경우에 발생합니다.

다음과 같은 솔루션이 저에게 효과가 있었습니다.

brew install python2

또한 업그레이드되었습니다.pip 1(으)로 업데이트합니다.1로

TLS 버전 확인:

python2 -c "import urllib2,json; print(json.loads(urllib2.urlopen('https://www.howsmyssl.com/a/check').read())['tls_version'])"

TLS 버전이 1.2 미만이면 PyPI 저장소가 초기 TLS를 사용하지 않는 브라운아웃 기간이기 때문에 업그레이드해야 합니다.

소스 - Python 업그레이드 시간: TLS v1.2가 곧 필수가 될 예정입니다.

다음 명령을 사용하여 TLS 버전을 업그레이드할 수 있습니다.

sudo apt-get update && sudo apt-get install openssl libssl-dev

이것이 당신의 문제를 해결할 것입니다.행운을 빕니다.

편집: TLS 버전에 관계없이 개인 Python 패키지 저장소를 사용하여 패키지를 다운로드할 수 있습니다.개인 Python 패키지 저장소

대로절에 .python3그리고.pip3사용자:

curl https://bootstrap.pypa.io/get-pip.py | sudo python3

그런 다음 판다를 설치하고 싶다고 가정합니다.

pip3 install pandas --user

이것은 저에게 효과가 있었습니다.python 앞에 sudo 추가

curl https://bootstrap.pypa.io/get-pip.py |sudo python

Python2 WIN10 사용자:

1.모든 폴더를 포함하여 python을 완전히 제거합니다.

2.최신 python-2.7.msi(버전 2.7.15)를 가져와 설치합니다.

3.2단계 후에는 pip도 설치되어 있을 수 있습니다.

4.이제 시스템 환경이 변경되지 않았다면 pip을 사용하여 패키지를 설치할 수 있습니다."tlsv1 경고 프로토콜 버전"이 표시되지 않습니다.

기존의 모든 수정 사항을 시도했지만 제대로 작동하지 않았습니다.

https://www.python.org/downloads/mac-osx/ 에서 .pkg을 다운로드하여 python 2.7을 다시 설치합니다.

설치 후에 pkg을 다운로드하면 작동합니다.

저도 이 문제에 부딪혔습니다.근본적인 문제는 Python 2.7 버전 < 2.7.9의 ssl 라이브러리가 더 이상 pip 메커니즘과 호환되지 않는다는 것입니다.

Windows에서 실행 중인데 호환되지 않는 2.7 버전의 FWIW에서 쉽게 업그레이드할 수 없는 경우 다른 시스템에 있는 최신 버전의 파이썬(예: Python 2.7.15)의 다른 설치에서 설치로 다음 파일을 복사하면 발견되었습니다.

    Lib\ssl.py
    libs\_ssl.lib
    DLLs\_ssl.dll

SSL 계층을 지원되는 계층으로 효과적으로 "업그레이드"할 수 있습니다. 그러면 pip을 다시 사용하여 pip을 업그레이드할 수 있었습니다.

다음을 통해 파이프를 장착할 경우의 답변:

  1. curl https://bootstrap.pypa.io/get-pip.py |sudo python또는
  2. curl https://bootstrap.pypa.io/get-pip.py | python

계속 오류가 발생했기 때문에 작동하지 않았습니다.

Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)) - skipping
ERROR: Could not find a version that satisfies the requirement pip (from versions: none)
ERROR: No matching distribution found for pip

설치해야 했습니다.pip수동으로 사용:

  1. 고 더pip유통 웹사이트
  2. 다운로드tar.gz버전
  3. 파일을 로컬로 압축 해제하고cd디렉토리에.
  4. 달려.python setup.py install

이것은 저에게 효과가 있었고, 저는 최신 버전의 pip를 설치한 다음 라이브러리를 설치했습니다(cisco confarse).

파이프 업그레이드:

curl https://bootstrap.pypa.io/get-pip.py | sudo /Users/{your user name}/{path to python}/bin/python

나의 환경:

파이썬 2.7.14

pip 9.0.1

macosx 10.9.4


내 해결책:

  1. 다운로드.get-pip.pyhttps://packaging.python.org/tutorials/installing-packages/ 에서 수동으로

  2. 달려.python get-pip.py


참조:

https://github.com/pypa/warehouse/issues/3293#issuecomment-378468534

https://packaging.python.org/tutorials/installing-packages/

안전하게 get-pip.py 다운로드 [1]

python get-pip.py 을 실행합니다.이렇게 하면 파이프가 설치되거나 업그레이드됩니다.또한 설치 도구와 휠이 아직 설치되지 않은 경우 설치됩니다.

파이프, 설정 도구 및 휠이 최신 상태인지 확인합니다.

pip만으로도 사전 구축된 이진 아카이브에서 설치하기에 충분하지만 소스 아카이브에서도 설치할 수 있도록 설정 도구 및 휠 프로젝트의 최신 복사본이 유용합니다.

python -m pip install --upgrade pip setuptools wheel

저는 또한 윈도우10에서 이 문제를 누르고 모든 답을 시도했지만 제 문제를 해결하지 못했습니다.

C:\python367\스크립트>파이프 설치 플라스크

플라스크 수집 플라스크 요구 사항을 충족하는 버전을 찾을 수 없습니다(버전: ) 플라스크에 대해 일치하는 분포를 찾을 수 없습니다.

그 후, 저는 pip 구성 파일이 수정된 것을 발견했습니다.그래서 제가 설정한 것은.pip.ini원래 기본 구성으로, pip 명령을 다시 실행하면 나에게 효과가 있습니다!

나의 해결책을 요약하면,

  1. pip.ini를 확인합니다(일반적으로 경로 아래)C:\ProgramData\pip)이 수정되었습니다.

  2. 1단계에서 예를 선택한 경우 기본 구성으로 재설정합니다.

또는 단순히 필요한 라이브러리가 레포에 없습니다.저는 파이썬 신입이고 pip 업그레이드에 대한 모든 조언이 오해의 소지가 있는 것으로 나타났습니다.저는 단지 https://pypi.org/ 을 들여다보기만 하면 도서관(제 경우에는 도서관)이 어떤 오래된 버전에서 멈췄고, 그 이후로 이름이 바뀌었다는 것을 발견했습니다.네, 또한 그 어리석은 해결책도 가능합니다 :-).

언급URL : https://stackoverflow.com/questions/49768770/not-able-to-install-python-packages-ssl-tlsv1-alert-protocol-version

반응형