pip
명령어 사용시 인증서 에러(ssl error) 가 발생하는 경우 해결하는 방법을 설명하는 글입니다.
현상
- 회사 PC 분석환경 세팅 중 파이썬 패키지 설치 과정에서 에러 발생 :
SSL: CERTIFICATE_VERIFY_FAILED
- 에러 메세지로 검색한 결과 인증서 관련 에러로 확인되었으며 아래 두 가지 방법으로 해결 가능
1. trusted-host
옵션 사용 : pip 설치시 신뢰할 수 있는 호스트를 명령줄에서 등록
- ex)
pandas
라이브러리 설치
pip --trusted-host pypi.org --trusted-host files.pythonhosted.org install pandas
2. requests
라이브러리 내 SSL 검증 여부 변경
Default 값은 True
이며, False
로 변경하면 검증단계를 Skip 하게됨 (보안 이슈가 있으므로 개인 PC에서만 사용 권장)
- ex) 수정 파일 위치
${site-packages PATH}/pip/_vendor/requests/sessions.py
조치
- 라이브러리 설치때마다
--trusted-host
를 입력하는 것에 번거로움을 느껴 설정 파일에 직접 적용하기로 함 sessions.py
파일을 찾는데 고생을 꽤 했으며 제 PC에서는 아래 경로에 위치하고 있었음
C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Lib\site-packages\pip\_vendor\requests\sessions.py
sessions.py
파일에서self.verify
옵션을 검색하였고 아래와 같이 변경 후 저장함 (장애 우려되었는지 습관적으로 기존 코드를 주석으로 변경.. ^^;)
해결
- 설정 후 정상적으로 패키지 설치가 되는 것을 확인함
참고사항
- 해결 과정에서 가장 큰 어려움은
sessions.py
파일을 찾는 것이었음 - 위 PC의 경우, python을 기본 설치하여 사용하고 있어 문제 없었으나 아나콘다(Anaconda)를 사용하는 경우, conda 환경마다
sessions.py
가 있어 검색에 혼란이 있었음 - 아나콘다(anaconda) 환경을 사용중인 경우, 사용중인 conda의
sessions.py
을 찾아 수정해야 함
관련 링크
[1] SSL: CERTIFICATE_VERIFY_FAILED 및 pip, 패키지 설치 에러
[2] 팁-파이썬-패키지-설치할-때-ssl-인증-오류-해제-방법
[3] [Python] SSL: CERTIFICATE_VERIFY_FAILED 문제 우회
System Info.
Windows 10
Python 3.8.1
PyCharm 2020.3.3 (Community Edition)
R version 4.0.3 (2020-10-10)
RStudio Version 1.4.1103
JRE: 11.0.2+159 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o