- [Django] SSLCertificationError macos2024년 01월 25일 22시 10분 30초에 업로드 된 글입니다.작성자: 묭동이
구글 계정을 통해 SSL 키를 발급하여 email API를 호출하는 과정에서 아래와 같은 문제가 발생했는데요,
다른 mac 사용자들에게는 일어나지 않는 문제가 왜 일어나지 하고 당황했습니다 ..
먼저 실행중인 서버를 종료한 후 혹시나 python 버전의 충돌로 인해 문제가 발생했나 확인하기 위해
터미널 상에서 python 버전을 출력해보았습니다.
django 프로젝트가 진행되는 python 버전은 3.12.1 인데 3.10 버전의 SSL인증 에러가 발생하여 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 버전 삭제확인
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())
django 재설치
이후 vscode로 진행중인 프로젝트를 다시 열었을 때 django: 'module not found' 에러가 발생하였는데요, 가상환경을 활성화시킨 후
아래 명령어를 통해 다시 django를 설치해주었습니다.
만약 가상환경이 없는 경우 아래 명령어를 통해 가상환경을 만들어줍니다.
가상환경 만들기
virtualenv venv
가상환경 활성화
source venv/bin/activate
장고 재설치
pip install django
이후 서버를 재시작하여 다시 메일을 전송해보니 성공하였습니다 !
Reference
'Python > django' 카테고리의 다른 글
[Django] MVT Architecture (0) 2024.01.19 [Django] macos 프로젝트 구조 만들기 (0) 2024.01.18 다음글이 없습니다.이전글이 없습니다.댓글