Stable Diffusion ControlNet v1.1 вызывает у меня проблему urllib3 SSL

Вопрос или проблема

При всех моделях ошибка:

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась: невозможно получить локальный сертификат издателя (_ssl.c:997)>

Она появляется в терминале после активации любой модели Controlnet и запуска рендеринга. Модели корректно загружены и размещены в правильной папке controlnet.

Я нашел много страниц на эту тему, но решения с установкой существуют только для MAC:

Просто перейдите в Applications/Python 3.6 и дважды щелкните по Install Certificates.command

но не для Windows. Я установил версию python 3.10.6, которая обязательна. Как можно решить эту проблему?

Я несколько раз пытался переустановить всё. Я пробовал изменить версию python, но SD требует именно эту версию. Я удалил папку venv после обновления сертификатов с помощью команды

pip install certifi --upagrade

Безуспешно.

Ответ или решение

Решение проблемы urllib3 SSL при использовании Stable Diffusion ControlNet v1.1 на Windows

При работе с моделью ControlNet v1.1 Stable Diffusion вы столкнулись с ошибкой, связанной с SSL-сертификатами. Эта проблема специфична для окружений Python, где могут возникать трудности с верификацией сертификатов, что приводит к возникновению сообщения об ошибке:

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>

Описание проблемы

Ошибка указывает на то, что Python не может подтвердить подлинность SSL-сертификатов для установленных сетевых соединений. Это может происходить по нескольким причинам:

  1. Отсутствие или неправильная установка корневых сертификатов: На Windows корневые сертификаты могут быть не установлены должным образом или отсутствовать, что приводит к невозможности проверки SSL-соединений.

  2. Версия Python: Вы упомянули, что используете Python версии 3.10.6, которая является совместимой, но некоторые настройки системы могут блокировать правильную работу с SSL.

  3. Проблемы с настройкой окружения: Если ваше окружение Python (venv) настроено неправильно, это также может вызвать проблемы.

Шаги для решения проблемы

Ниже приведены рекомендации по устранению ошибки SSL с использованием Python и Stable Diffusion на Windows:

  1. Установка и обновление библиотеки certifi:
    Убедитесь, что у вас установлена последняя версия библиотеки certifi, которая предоставляет актуальные корневые сертификаты. Выполните следующую команду в терминале:

    pip install --upgrade certifi
  2. Настройка переменной окружения:
    Попробуйте установить переменную окружения, указывающую на файл сертификатов cacert.pem. Часто для решения проблем с SSL помогает указание на местоположение файла сертификатов:

    set SSL_CERT_FILE=C:\Path\To\your\venv\Lib\site-packages\certifi\cacert.pem

    Замените C:\Path\To\your\venv на путь к вашему виртуальному окружению.

  3. Обновление OpenSSL:
    Убедитесь, что у вас установлен последняя версия OpenSSL. Она может использоваться вашим Python для обработки SSL-соединений. Загрузите OpenSSL для Windows и установите, если это необходимо.

  4. Использование альтернативного менеджера пакетов:
    Если проблема сохраняется, рассмотрите возможность использования другой среды для работы с Python, такой как Anaconda. Это может помочь избежать проблем с зависимостями и конфигурацией.

  5. Проверка системы обновлений Windows:
    Убедитесь, что все обновления Windows установлены и система обновлена. Иногда обновления безопасности могут включать новые корневые сертификаты.

  6. Проверка антивирусного программного обеспечения:
    Некоторые антивирусные программы могут блокировать SSL-соединения. Попробуйте временно отключить антивирус и проверить, сохраняется ли проблема.

  7. Создание нового виртуального окружения:
    Если ни одно из вышеуказанных решений не помогло, попробуйте создать новое виртуальное окружение:

    python -m venv new_env
    new_env\Scripts\activate
    pip install -r requirements.txt  # Убедитесь, что у вас есть файл с зависимостями

Заключение

Использование моделей, таких как ControlNet v1.1 в Stable Diffusion, может иногда вызывать проблемы с SSL. Следуя вышеуказанным шагам, вы сможете устранить проблему с верификацией сертификатов и продолжить работу с вашей моделью без прерываний. Если проблема сохраняется, не стесняйтесь обращаться на специализированные форумы и сообщества разработчиков, где вы сможете получить помощь от других пользователей, сталкивавшихся с аналогичными проблемами.

Оцените материал
Добавить комментарий

Капча загружается...