파이썬 개발/트러블슈팅

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

너l모 2022. 4. 5. 19:27
반응형

※ 업무하면서 습득한 내용들을 정리해 놓은 포스팅입니다 :P 추가로 궁금하신 점은 댓글로 남겨주시고 필요한 자료 있으면 요청주세요! 잘못된 내용이 있으면 고쳐주시면 감사하겠습니다. 자료 퍼가실 때는 출처 남겨주세요!


 ο 목차

     


    ※ 코드 보는 방법 참고

    ㅇ 달러 기호($)가 있는 경우 -> 리눅스 터미널에서 CLI 명령어 입력

    ㅇ "=#" 기호가 있는 경우 -> psql 쉘에서 명령어 입력

    ㅇ 꺽쇠가 하나 있는 경우(>) -> 윈도우 명령 프롬프트(cmd)에서 명령어 입력

    ㅇ 꺽쇠가 세개 있는 경우(>>>) -> python 쉘에서 명령어 입력


    안녕하세요, 네모입니다 :)

     

    pip로 새로운 패키지를 설치하려는데 제목과 같은 오류가 발생했습니다.

    상황에 따라 여러가지 해결 방법이 있겠지만 저와 같은 상황인 분들에게 혹시 도움이 될까 싶어 포스팅하게 되었습니다.

    * 참고) OS 환경 = windows 10

     

    > 아래 내용 읽기 귀찮고 어려우면 아래 링크의 가장 간단한 방법으로 이동해서 해결

    WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. (tistory.com)

     

    1. 문제 사례

    - 기존에는 pip를 사용해 문제없이 파이썬 패키지를 설치했었으나 어느날 갑자기  "WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available." 오류가 발생하더니 pip를 사용하는 모든 명령어가 먹통이 됨.

     

    2. 오류 메세지 내용 상세

    WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

    및 해당 현상으로 인한 기타 다른 오류 메세지 발생

     

    3. 문제 원인

    1) openssl 패키지 미설치

    - TLS/SSL 통신을 위한 패키지가 없는 경우. 하지만 잘 되다가 갑자기(?) 안된다면 패키지가 없을 가능성은 매우 낮음.

     

    2) openssl 패키지 저장소 환경변수 설정 X

    - openssl 패키지가 있는 저장소에 pip 프로그램이 접근하지 못하는 경우. 이 또한 잘 되다가 갑자기(?) 안된다면 환경변수가 설정되어있지 않을 가능성은 매우 낮음.

     

    3) pip 동작의 모호성으로 인한 잘못된 동작

    - 높은 확률로 문제가 되는 컴퓨터에는 파이썬의 여러 버전이 설치되어 있거나 아나콘다(anaconda)가 있거나 파이참(pycharm)이 있음.

    (즉, pip가 패키지를 설치할 수 있는 여러 인터프리터가 존재, 명확한 명령이 없다면 pip가 어떻게 동작할지 알 수 없고, 의도와 다른 인터프리터에 패키지를 설치하려 할 수 있음.)

     

    4. 문제 해결 방법

    1) openssl 설치 여부 확인

    - 명령 프롬프트에서 파이썬 실행

    > python

     

    - 파이썬 인터프리터에 아래와 같이 "import ssl" 명령어 입력

    >python
    Python 3.10.1 (tags/v3.10.1:2cd268a, Dec  6 2021, 19:10:37) [MSC v.1929 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import ssl
    >>>

    -> 문제 없이 import 된다면 openssl 패키지 설치가 되어 있음.

     

    - 만약 아래와 같이 오류 발생시 해당 패키지 설치가 안 된 것으로 openssl 패키지 설치부터 진행

    >>> import ssl
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'ssl'

     

    * openssl 설치 참고 사이트 

    OpenSSL 윈도우에서 설치하는 방법 (iteastory.com)

     

    OpenSSL 윈도우에서 설치하는 방법

    1. OpenSSL이란? OpenSSL은 SSL과 같은 네트워크 프로토콜을 오픈소스로 구현해놓은 보안 라이브러리입니다. HTTPS가 SSL/TLS을 사용하는 대표적인 사례입니다. HTTPS는 SSL/TLS인증서를 이용해서 데이터를

    iteastory.com

     

    2) openssl 저장소를 시스템 환경 변수에 등록

    - openssl 패키지가 설치된 파이썬 저장소를 확인해서 시스템 환경 변수에 등록하기

    (해당 부분은 컴퓨터 인터프리터 설치 환경별로 다르기 때문에 직접 찾아야 합니다.)

     

    3) pip 명령어 명확히 지정해주기

    - 아래와 같이 실행하려는 파이썬 인터프리터에 -m 옵션을 줘서 pip 실행하기

    > python -m pip install 패키지이름

    - 원인이 됐던 pip의 모호성 문제에 대해 실행하려는 인터프리터를 명확히 지정해줌으로써 모호성 오류 해소

    ※ 파이썬 패키지 저장소인 PYPI 에서도 pip 실행시 모호성 이슈로 인해 "pip install" 보다는 "python -m pip install" 명령어를 사용하라고 가이드에 권고하고 있음.

     


    만약 저의 경우처럼 잘 되다가 갑자기(?) 안된다면 4.3) 의 방법으로 해결될 확률이 높습니다.

    (사실 갑자기는 아니고 본인도 모르는새 뭔가 작업을 했을 가능성이 높음 ;3 쭈글)

     

    많은 도움 되시길 바랍니당 :) 아듀


    ※ 좋아요와 구독은 큰 힘이 됩니다. 감사합니다. 

     

     

    반응형