콘텐츠로 이동

[Python] PIP로 모듈 설치 시 SSLCertVerificationError 해결하는 방법

서론

인터넷이 되는 환경인데 주로 내부망이나 웹 Proxy를 사용하는 네트워크 환경에서
pip를 이용하여 모듈을 설치 하면 꼭 이런 에러가 발생한다.

SSLError<SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERTIFY_FAILED] certificate verify failed

>pip install frida
Collecting frida
 WARNING: Retrying <Retry<total=4, connect=None, read=None, redirect=None, status=none)) after connection broken by 'SSLError<SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERTIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)'))': /simple/frida
 WARNING: Retrying <Retry<total=3, connect=None, read=None, redirect=None, status=none)) after connection broken by 'SSLError<SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERTIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)'))': /simple/frida

 ... [생략] ...

 Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retres exceeded with url: /simple/pip/ (Caused by SSLError<SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERTIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)'))) - skipping

>_

pip 옵션 추가

이럴 경우 다운받아오는 위치를 신뢰할 수 있는 호스트로 설정하여 사용하면
설치가 가능해진다.
--trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org
옵션을 붙여주면 된다.

>pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org frida
Collecting frida
  Downloading https://files.pythonhosted.org/packages/c7/52/a4c0c4d85fbe27389841ae40958c46e612ad4a66a75ff838b9f6c96eceff/frida-12.7.11.tar.gz
Installing collected packages: frida
  Running setup.py install for frida ... done
Successfully installed frida-12.7.11

>_

잘 된다.

매번 옵션 넣기 귀찮음

매번 저렇게 옵션을 달아서 설치하기 귀찮을 경우
아예 pip.ini 파일에 설정을 해주면 된다.
윈도우의 경우 경로는
\Users\[사용자]\AppData\Roaming\pip\pip.ini
이며 파일이 없으면 생성해서 넣어주면 된다.

[global]
trusted-host = pypi.python.org
               pypi.org
               files.pythonhosted.org

결론

pip에서 SSL 에러 발생 시

Command Line

>pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org [module]

pip Config

[global]
trusted-host = pypi.python.org
               pypi.org
               files.pythonhosted.org

끝.


마지막 업데이트: 2022-05-13

댓글