허무해서 적어놓는다...
처음에 python -m venv venv
를 통해 가상환경을 활성화한 뒤 activate 해주었는데 smtp 를 통해 이메일 인증을 처리하려니 위와 같은 에러가 났다.
시도해본 방법
애플리케이션 > python > Install Certificates.command 더블 클릭 > Update Shell Profile.command 더블 클릭
shell 에 들어가서 openurl 설정 바꿔주기 - 이 방법은 내가 딱히 url 을 여는 것이 아니었기 때문에 잘못된 방법이었다.
settings.py 에서
# settings.py
import os
# 사용자 지정 CA 인증서 리스트가 포함된 파일 경로를 지정
custom_ca_bundle_path = '/path/to/custom/ca_bundle.pem'
# SSL_CA_FILE 설정을 사용하여 CA 인증서 경로 지정
os.environ['REQUESTS_CA_BUNDLE'] = custom_ca_bundle_path
아래 코드 추가해주기
물로 안 돼서 다른 방법을 찾아보았다.
이외에도
https://stackoverflow.com/questions/50236117/scraping-ssl-certificate-verify-failed-error-for-http-en-wikipedia-org
https://superuser.com/questions/1426277/ssl-sslcertverificationerror-ssl-certificate-verify-failed-certificate-verif
터미널에 pip install --upgrade certifi
하는 방법은 여러 번 해보았으나 이 또한 이미 만족했다고만 나올 뿐 해결되진 않았다... 실제로 venv/lib/python3.8/site-packages 에는 certifi 가 있었고 2023.11.14 기준 최신 버전이 업데이트 되어있었기 때문에...
문제는 생각지도 못한 곳에서 해결했다. 여러 번 certificates.command 를 눌러주었음에도 적용이 안 되는 게 이상해서 계속 venv 의 파이썬과 응용 프로그램의 파이썬을 왔다갔다 하다보니 버전 차이가 눈에 들어온 것이다.
내 기기에 설치된 응용 프로그램의 파이썬은 python3.11 인데 venv 에 설치된 파이썬은 python3.8 이었다. (python --version
) 설마 싶어서 기존에 설치된 venv 를 아예 지우고 python3.11 -m venv venv
를 통해 파이썬 버전을 명시한 뒤 다시 설치해주었다.
버전 확인하고
다시 makemigrations, migrate, runserver 실행하니
오오 주님.....제대로 실행이 된다!
애플리케이션 > python > Install Certificates.command 더블 클릭 > Update Shell Profile.command 더블 클릭
이 부분은 어디서 실행하신 건가요?