Я пытаюсь загрузить файл Python в PyPi через twine upload <file>
, но я получаю сообщение об ошибке SSL:питон проверки сертификата SSL не будет работать на некотором распределении команд
C:\pypubsub>twine upload dist\PyPubSub-4.0.0rc1-py3-none-any.whl
Uploading distributions to https://upload.pypi.org/legacy/
Uploading PyPubSub-4.0.0rc1-py3-none-any.whl
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
Другие скрипты Python, которые используют SSL имеют ту же проблему, например
- с
python setup.py bdist_wheel upload <my_package>
- с
pip install <any_package>
; но там я могу добавить--trusted-host pypi.python.org
к любойpip install
команды и установки и загрузки зависимостей удастся
Это происходит на моем корпоративном ноутбуке будь то дома или на работе, но это не происходит на моем личном ноутбуке.
Чтобы обойти эту проблему, я в основном пытался SO answer to similar problem (то есть экспортировать сертификат, шпагат пытается проверить - по-видимому, что из pypi.python.org - и затем сказать шпагат, чтобы использовать его):
- от chrome, я пошел к https://pypi.pythong.org, щелкнул замок рядом с URL-адресом, затем Details, View Certificate, Details, Copy to File. Это создало файл .CER.
- Я использовал SSL Converter для преобразования файла .CER из формата DER в формат PEM. Это создало файл .CRT.
- Я запустил шпагат как
twine upload <my_package> --cert <path to CRT file>
; на этот раз ошибка SSL былаSSLError: [SSL] PEM lib (_ssl.c:2846)
.
Затем я попытался выбирают из проверки сертификата сервера, исправляя c:\Python35\lib\ssl.py
, как описано в Opting Out: я заменил линию _create_default_https_context = create_default_context
на _create_default_https_context = _create_unverified_context
. Повторная перезагрузка команды twine
снова завершилась с исходной ошибкой CERTIFICATE_VERIFY_FAILED.
Я не так хорошо знаком с сертификатами, поэтому сейчас я в недоумении, что еще попробовать.
Thx @karanja для ответа. Но похоже, что это подтверждает, что шаги с 1 по 3 моего сообщения должны были работать, но, возможно, я не сделал шаг 2 правильно? – Schollii
@Schollii ты за корпоративным брандмауэром? Если да, имеете ли вы доступ к сертификатам https ssl? Вам нужно преобразовать файл '.cer' в файл' .pem'. –
, так что мне нужно получить сертификаты https ssl от наших ИТ? поэтому это набор сертификатов ssl, а не только для этого сайта, с которым у меня возникают проблемы? – Schollii