pip WindowsLinuxmacOS

pip: SSL: CERTIFICATE_VERIFY_FAILED при установке пакетов

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Ошибка возникает из-за прокси, антивируса или устаревших корневых сертификатов. Обновите pip и certifi, проверьте корпоративный прокси.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Если не помогло
  5. Диагностика
  6. Подключение корневого сертификата
  7. Аварийный вариант

#Что означает ошибка

Сообщение
CERTIFICATE_VERIFY_FAILED

CERTIFICATE_VERIFY_FAILED при установке пакетов через pip указывает на то, что pip не доверяет сертификату сервера. Самая частая причина — корпоративный прокси или антивирус, который подменяет сертификат своим корневым, которого нет в хранилище Python.

Решением является добавление нужного корневого сертификата, а не отключение проверки.

Покажем, как найти и подключить сертификат.

Ошибка возникает из-за прокси, антивируса или устаревших корневых сертификатов. Обновите pip и certifi, проверьте корпоративный прокси.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Корпоративный проксиВ цепочке сертификата виден подтверждённый корпоративный центрПолучите доверенный CA bundle по внутреннему каналу и настройте pip.
АнтивирусTLS-сертификат меняется локальной программой фильтрации HTTPSУточните у администратора разрешённый способ доверия, не отключайте антивирус.
Устаревшие сертификатыСистемное хранилище устарело либо pip использует другую цепочку доверияПроверьте сертификаты ОС и версии pip/Python на поддерживаемой платформе.
Неверное времяДата/время системы заметно неверны и браузер сообщает о сроке действияИсправьте дату/часовой пояс и повторите проверенный HTTPS-запрос.

#Пошаговое решение

  1. Определите, кто выдал сертификат pypi.orgВ терминале активированного окружения запустите python -m pip --version и запишите версию Python/pip. Откройте в браузере https://pypi.org, нажмите значок сведений о соединении возле адреса → «Сертификат» (маршрут зависит от браузера) и проверьте имя выдавшего сертификат центра. Если браузер тоже сообщает ошибку доверия, сначала проверьте точную дату/время ОС и обратитесь к системному администратору. Не вводите пароли, не переходите на HTTP и не отключайте проверку сертификатов.
  2. Экспортируйте корневой сертификат в PEMЕсли на компьютере используется корпоративный HTTPS-прокси, спросите у администратора, должна ли подмена сертификатов происходить и какой корневой сертификат доверен организацией. Не экспортируйте случайный сертификат с интернет-страницы: нужен проверенный корневой сертификат организации, полученный по доверенному внутреннему каналу. На Windows откройте «Пуск» → certmgr.msc для просмотра пользовательских корневых центров; для системного хранилища требуются полномочия администратора. Импортировать неподтверждённый корневой сертификат крайне опасно.
  3. Укажите его в pipЕсли администратор выдал подтверждённый PEM-набор доверенных корневых сертификатов (bundle), положите файл в защищённый каталог, например C:\certs\company-ca-bundle.pem, и проверьте его существование. В PowerShell примените py -m pip install --cert C:\certs\company-ca-bundle.pem ИМЯ_ПАКЕТА для разовой проверки, заменив путь и имя на реальные. Параметр --cert должен указывать на подходящий сертификатный набор, а не просто на сертификат сайта; изменение глобальной настройки pip затрагивает все установки этого пользователя. При успехе согласуйте постоянную настройку с администратором.
  4. Либо установите pip-system-certsНа Python 3.10+ и pip 24.2+ штатно используются системное хранилище сертификатов вместе с certifi; на более старых выпусках поведение отличается. Поэтому сначала проверьте версии и доверие системного хранилища, а не устанавливайте дополнительный пакет pip-system-certs без диагноза. Если обновление pip требуется для исправления, выполните его только из доверенного источника через рабочее соединение; не используйте небезопасную установку pip для того, чтобы исправить ошибки доверия pip. Для Linux уточните состояние системного пакета ca-certificates через администратора ОС.
  5. Используйте trusted-host только временноПосле корректировки доверия повторите исходную установку python -m pip install ИМЯ_ПАКЕТА без обходных флагов. Успех — скачивание из ожидаемого индекса без CERTIFICATE_VERIFY_FAILED. Если ошибка сохраняется, запишите точное имя хоста из ошибки (pypi.org, files.pythonhosted.org либо внутренний индекс), версию Python/pip, сведения о прокси и сертификатной цепочке без секретов. Не применяйте --trusted-host: это выключает важную проверку подлинности соединения и не является рекомендованным исправлением.

#Если не помогло

Не отключайте проверку SSL (--trusted-host) без необходимости: это небезопасно.

#Диагностика

Откройте https://pypi.org в браузере и посмотрите издателя сертификата (значок замка → сертификат). Если издатель — ваша организация или антивирус, это может указывать на корпоративную проверку TLS; подтвердите её законность у администратора. Проверьте цепочку: openssl s_client -connect pypi.org:443 -showcerts. Узнайте, откуда pip берёт сертификаты: python -m pip config list и python -c "import certifi; print(certifi.where())".

#Подключение корневого сертификата

Если организация использует TLS-инспекцию, получите проверенный PEM-набор доверенных CA от администратора, а затем настройте его через --cert/PIP_CERT для конкретного окружения. Не редактируйте файл certifi вручную: обновление пакета заменит его, а неправильный CA нарушит проверку соединений. Установка pip-system-certs как первый шаг не нужна: pip 24.2+ при Python 3.10+ уже использует системное хранилище вместе с certifi.

#Аварийный вариант

Отключать проверку TLS с помощью --trusted-host для скачивания и установки пакетов не следует. Проверьте дату системы, актуальную версию pip, доверенные сертификаты и настройки корпоративного прокси. Обновления pip/certifi выполняйте лишь после восстановления проверенного HTTPS-соединения.

Linux · Терминал (Bash)С осторожностью
Не отключает проверку TLS. Настройка работает лишь при достоверном PEM bundle, предоставленном администратором.
# Диагностический вариант для Windows с подтверждённым CA bundle
# Путь и имя пакета обязательно заменить на реальные; НЕ запускать без файла
py -m pip install --cert C:\certs\company-ca-bundle.pem requests

Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.