묭동이 개발 블로그
  • [Django] SSLCertificationError macos
    2024년 01월 25일 22시 10분 30초에 업로드 된 글입니다.
    작성자: 묭동이

    구글 계정을 통해 SSL 키를 발급하여 email API를 호출하는 과정에서 아래와 같은 문제가 발생했는데요,

    다른 mac 사용자들에게는 일어나지 않는 문제가 왜 일어나지 하고 당황했습니다 ..

    SSL 인증 에러

    먼저 실행중인 서버를 종료한 후 혹시나 python 버전의 충돌로 인해 문제가 발생했나 확인하기 위해

    터미널 상에서 python 버전을 출력해보았습니다.

    django 프로젝트가 진행되는 python 버전은 3.12.1 인데 3.10 버전의 SSL인증 에러가 발생하여 python이 설치된 경로를 찾아 버전을 확인해보기로 했습니다.


    django 프로젝트의 python 버전 확인

    django 프로젝트의 python 버전확인


    python이 설치되어 있는 경로 확인

     

    python이 설치된 경로를 확인했으니 cd 명령어를 통해 해당 디렉토리로 이동하도록 하겠습니다.

    python3는 실행가능한 파일로 "디렉토리"가 아니기 때문에 cd 명령어를 사용할 수 없습니다.

    따라서 아래와 같이 디렉토리 경로만 지정해야 합니다.

    cd /Library/Frameworks/Python.framework/Versions/3.12/bin/

     

    이후 open . 명령어를 통해 현재 터미널이 있는 위치의 폴더를 열어줍니다.

    open .

    python3.10 버전 삭제

    Versions로 오니 역시나 3.10이 설치되어 있었는데요, 아래의 명령어를 통해 3.10을 삭제했습니다.

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.10

    python3.10 버전 삭제확인

    python 3.10 삭제 확인


    3.12 버전 SSL 인증서 설치

    삭제가 완료된 후 아래 명령어를 통해 3.12 버전의 SSL 인증서를 설치해주었습니다.

    open /Applications/Python\ 3.12/Install\ Certificates.command

     


    SSL 인증서가 설치된 경로 확인

    터미널에서 Python을 shell로 열어준 후 아래와 같이 코드를 입력하여 SSL 인증서가 설치된 경로를 확인해줍니다.

    이후 해당 경로로 이동하여 인증서가 있는지 확인해주었습니다.

    import ssl
    print(ssl.get_default_verify_paths())

    SSL 설치 경로 확인


    django 재설치

    이후 vscode로 진행중인 프로젝트를 다시 열었을 때 django: 'module not found' 에러가 발생하였는데요, 가상환경을 활성화시킨 후

    아래 명령어를 통해 다시 django를 설치해주었습니다.

    만약 가상환경이 없는 경우 아래 명령어를 통해 가상환경을 만들어줍니다.

     

    가상환경 만들기

    virtualenv venv

     

    가상환경 활성화

    source venv/bin/activate

     

    장고 재설치

    pip install django

     

    이후 서버를 재시작하여 다시 메일을 전송해보니 성공하였습니다 !

    Reference

     

    Mac OSX python ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)

    Many operations in Python require accessing things via https. This includes pip install command, or just using http.client.HTTPSConnection, or any modules or applications that use these things inte...

    stackoverflow.com

     

    mac에서 오류 나는 경우 참고하세요!

     

    www.codeit.kr

     

    'Python > django' 카테고리의 다른 글

    [Django] MVT Architecture  (0) 2024.01.19
    [Django] macos 프로젝트 구조 만들기  (0) 2024.01.18
    댓글