Решение: Ошибка TLS/SSL при установке модулей в Python
Быстрый ответ
Если вы столкнулись с ошибкой связанной с модулем SSL в Python, следуйте указанным ниже шагам:
- Переустановите Python, не забыв проставить галочку напротив пункта поддержки SSL в процессе установки.
- Проверьте работоспособность SSL в Python, используя команду python -m ssl.
- Для пользователей Unix-подобных систем установите OpenSSL, запустив следующие команды:
./configure --with-openssl  # Указываем путь до OpenSSL
make   # Даем команду на компиляцию
make install  # Производим установку скомпилированных файлов
Таким образом, настройка SSL для Python выполнена, и pip будет функционировать без возникновения ошибок.

Анализ проблемы SSL
SSL – это аббревиатура, которая может ввести вас в заблуждение, если она отсутствует в Python. Без нее Python невозможно осуществлять безопасное соединение с серверами по HTTPS, что, в свою очередь, приводит к тому, что pip не может скачивать необходимые пакеты. Причины этого могут быть различными.
Запомните три следующих пути в вашей файловой системе: D:\Anaconda3, D:\Anaconda3\Scripts и D:\Anaconda3\Library\bin. Отдельное внимение уделите последнему, так как именно в нем необходимые для работы SSL/TLS ключевые файлы OpenSSL располагаются.
Разговор о MacOS и Linux
Пользователи Mac, вашим спасением при возникновении проблем с SSL будет Homebrew. Для переустановки Python с OpenSSL, используйте следующие команды:
brew install openssl  # Устанавливаем OpenSSL через утилиту Brew
brew install python   # Устанавливаем Python
Таким образом, MacOS настроена и готова к работе с SSL-соединениями.
Для пользователей Debian существует пакет libssl-dev, который содержит всё необходимое для работы SSL в Python:
sudo apt-get install libssl-dev  # Устанавливаем пакет, содержащий поддержку SSL
Правильно настройте переменные окружения для решения проблем с SSL
Переменные окружения – это как навигационная система для Python. Если они настроены неверно, Python потеряется:
- Для пользователей Anaconda или Miniconda, добавьте D:\Anaconda3,D:\Anaconda3\Scripts, иD:\Anaconda3\Library\binв переменные окружения.
- Перезапустите терминал, чтобы активировать новые пути.
- Проверьте доступность модуля SSL, запустив python -m ssl.
Если вы установили Python вручную на Unix подобных системах и у вас возникли проблемы с SSL:
- Будьте аккуратны при распаковке архивов Python перед выполнением команд configure/make.
- Убедитесь, что файлы libcryptoиlibsslразмещены в нужных директориях.
Установка OpenSSL на MacOS с использованием Homebrew
Если вы управляете OpenSSL через Homebrew на MacOS, избегайте использования флага --ignore-dependencies. Он может привести к проблемам в работе с зависимостями Python:
brew install openssl --ignore-dependencies  # Не пренебрегайте важностью зависимостей
Копирование файлов как последняя мера
Иногда решение проблемы сводится к простому копированию файлов OpenSSL в директорию DLLs Python:
- Данные файлы обычно располагаются в директории Library\binAnaconda или Miniconda.
- Выполните поиск и копирование их в директорию DLLsустановленной версии Python.
Пользователи Python 2.7 рекомендуются обновить версию до Python 3.7 для получения улучшенной поддержки SSL. После такого обновления pip и модуль SSL будут работать совместно без конфликтов.
Визуализация
Представьте конфигурацию SSL как логистическую цепь:
Грузовик (pip🚛): Загружен товаром
Дороги (Интернет-пути🛣️): Требуют безопасности, необходим TLS/SSL
Вашему pip необходимо преодолеть преграду:
🚛❌🔒 Нет SSL, грузовик не может двигаться по безопасным путям!
Проясним:
🚛 = Pip, передвигающийся по маршруту для доставки пакетов (📦)
🛣️ = URL, к которому должна быть осуществлена безопасная доставка (TLS/SSL)
🔒 = Наличие SSL существенно для доступности пути
❌ = Без обеспечения безопасности доставка не возможна
Необходимо обеспечить поддержку SSL для вашего Python:
🔑 = Поддержка SSL настроена
🚛✅🔒 = Грузовик свободно перемещается по безопасным дорогам с помощью модуля SSL!
Полезные материалы
- Проблема SSL: CERTIFICATE_VERIFY_FAILEDна Stack Overflow — Обсуждение решения проблем, связанных с SSL, в pip.
- Документация по модулю SSL в Python — Описание работы модуля SSL в официальной документации Python.
- Установка пакетов – Руководство по упаковке Python — Инструкции по установке пакетов предоставленные Python Packaging Authority.
- Руководство по установке Pip — Гид по установке и устранению проблем pip.
- Репозиторий Pyenv на GitHub — Большой выбор различных версий Python на одной платформе.


