Вопрос или проблема
При всех моделях ошибка:
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-сертификатов для установленных сетевых соединений. Это может происходить по нескольким причинам:
-
Отсутствие или неправильная установка корневых сертификатов: На Windows корневые сертификаты могут быть не установлены должным образом или отсутствовать, что приводит к невозможности проверки SSL-соединений.
-
Версия Python: Вы упомянули, что используете Python версии 3.10.6, которая является совместимой, но некоторые настройки системы могут блокировать правильную работу с SSL.
-
Проблемы с настройкой окружения: Если ваше окружение Python (venv) настроено неправильно, это также может вызвать проблемы.
Шаги для решения проблемы
Ниже приведены рекомендации по устранению ошибки SSL с использованием Python и Stable Diffusion на Windows:
-
Установка и обновление библиотеки certifi:
Убедитесь, что у вас установлена последняя версия библиотекиcertifi
, которая предоставляет актуальные корневые сертификаты. Выполните следующую команду в терминале:pip install --upgrade certifi
-
Настройка переменной окружения:
Попробуйте установить переменную окружения, указывающую на файл сертификатовcacert.pem
. Часто для решения проблем с SSL помогает указание на местоположение файла сертификатов:set SSL_CERT_FILE=C:\Path\To\your\venv\Lib\site-packages\certifi\cacert.pem
Замените
C:\Path\To\your\venv
на путь к вашему виртуальному окружению. -
Обновление OpenSSL:
Убедитесь, что у вас установлен последняя версия OpenSSL. Она может использоваться вашим Python для обработки SSL-соединений. Загрузите OpenSSL для Windows и установите, если это необходимо. -
Использование альтернативного менеджера пакетов:
Если проблема сохраняется, рассмотрите возможность использования другой среды для работы с Python, такой как Anaconda. Это может помочь избежать проблем с зависимостями и конфигурацией. -
Проверка системы обновлений Windows:
Убедитесь, что все обновления Windows установлены и система обновлена. Иногда обновления безопасности могут включать новые корневые сертификаты. -
Проверка антивирусного программного обеспечения:
Некоторые антивирусные программы могут блокировать SSL-соединения. Попробуйте временно отключить антивирус и проверить, сохраняется ли проблема. -
Создание нового виртуального окружения:
Если ни одно из вышеуказанных решений не помогло, попробуйте создать новое виртуальное окружение:python -m venv new_env new_env\Scripts\activate pip install -r requirements.txt # Убедитесь, что у вас есть файл с зависимостями
Заключение
Использование моделей, таких как ControlNet v1.1 в Stable Diffusion, может иногда вызывать проблемы с SSL. Следуя вышеуказанным шагам, вы сможете устранить проблему с верификацией сертификатов и продолжить работу с вашей моделью без прерываний. Если проблема сохраняется, не стесняйтесь обращаться на специализированные форумы и сообщества разработчиков, где вы сможете получить помощь от других пользователей, сталкивавшихся с аналогичными проблемами.