Python SSL error
Возникла необходимость из консоли поработать с S3 диском. В macOS через homebrew установил s3cmd и попытался сконфигурировать:
s3cmd --configure
Заполнил все параметры, и во время проверки подключения поймал ошибку:
ERROR: Test failed: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)
Стал разбираться, что происходит? В зависимостях s3cmd указан python@3.12.
Поиски в интернете показали, что у питона своя собственная ключница. И в запросах возникает ошибка валидации сертификата. Предлагалось множество различных решений. Но перепробовав целый ряд нашел одно.
Требуется установить дополнительный пакет certifi:
brew install certifi
Затем определяем переменные окружения, для bash:
CERT_PATH=$(python3 -m certifi)
export SSL_CERT_FILE=${CERT_PATH}
export REQUESTS_CA_BUNDLE=${CERT_PATH}
Я использую fish, для него определяется несколько иначе:
set CERT_PATH $(python3 -m certifi)
export SSL_CERT_FILE={$CERT_PATH}
export REQUESTS_CA_BUNDLE={$CERT_PATH}
После определения переменных запросы начинают проходить без ошибок.