Если при работе с Python вы столкнулись с сообщением об ошибке «urllib3 v2.0 поддерживает только OpenSSL 1.1.1+, в настоящее время модуль ssl скомпилирован с LibreSSL 2.8», не волнуйтесь! В этой статье блога мы рассмотрим эту проблему и предоставим вам несколько способов ее решения. Мы будем использовать простой язык и предоставим примеры кода, чтобы вам было легче работать.
Способ 1: обновить OpenSSL
Один из способов решения этой проблемы — обновить версию OpenSSL до 1.1.1 или выше. Вот как это можно сделать:
$ sudo apt update
$ sudo apt upgrade openssl
Убедитесь, что у вас есть необходимые разрешения для выполнения обновления.
Метод 2. Установите pyOpenSSL
Другой подход — установить библиотеку pyOpenSSL, которая обеспечивает уровень совместимости для OpenSSL. Вот пример того, как установить его с помощью pip:
$ pip install pyOpenSSL
После установки ваш код должен автоматически использовать pyOpenSSLв качестве запасного варианта для модуля SSL, решая проблему совместимости.
Метод 3. Обновите urllib3
Убедитесь, что у вас установлена последняя версия urllib3. Вы можете использовать pip для его обновления:
$ pip install --upgrade urllib3
При этом будет загружена и установлена новейшая версия urllib3, которая может содержать необходимые исправления и обновления совместимости.
Метод 4: переключиться на другой дистрибутив Python
Если описанные выше методы не работают, вы можете попробовать переключиться на дистрибутив Python, который по умолчанию использует OpenSSL 1.1.1+. Например, вы можете использовать Anaconda, которая поставляется с необходимой версией OpenSSL. Установите Anaconda и создайте новую среду:
$ conda create --name myenv python=3.8
$ conda activate myenv
Затем установите необходимые пакеты и библиотеки в новой среде.
Проблема совместимости между urllib3 v2.0 и OpenSSL/LibreSSL может расстроить, но есть несколько способов ее решения. Обновив OpenSSL, установив pyOpenSSL, обновив urllib3 или переключившись на другой дистрибутив Python, вы сможете преодолеть это препятствие и продолжить беспрепятственную работу над проектами Python.
Не забудьте выбрать метод, который соответствует вашим конкретным требованиям и конфигурации системы. Приятного кодирования!