Stable Diffusion Webui 在MacOS系统下使用Ai放大功能报错

Stable Diffusion Webui 在macOS下无法使用图片放大功能
Python 3.10.10
macOS 13.2.1

使用ExtrasAi放大功能的报错如下:

raise URLError(err)
urllib.error.URLError:

希望大家能帮忙解决,非常感谢!

这个问题似乎与SSL证书验证失败有关。

有几种可能的解决方案。首先,你可以尝试将你的机器的操作系统升级到最新版本。其次,你可以尝试将Python版本升级到最新版本。第三,你可以尝试手动将缺少的证书添加到证书存储中。最后,你可以尝试禁用SSL证书验证。

“Devil组”引证GPT后的撰写:
这个报错是由于SSL证书验证失败导致的。你可以尝试以下解决方法:

更新证书
在终端输入以下命令:

sudo /usr/bin/curl -L -o /etc/openssl/cert.pem https://curl.haxx.se/ca/cacert.pem


该命令会下载一个新的证书并将其安装到系统中。

关闭证书验证
在代码中添加以下内容:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context


这将会关闭SSL证书验证,但也会带来一些安全风险,因此谨慎使用。

希望这些解决方法能够帮助到你!

参考GPT的内容和自己的思路,
这个错误是由于SSL证书验证失败引起的。在MacOS系统中,Python默认使用系统证书库。可能是因为缺少某些根证书或证书库没有正确配置,导致无法验证SSL证书。

您可以尝试以下解决方案:

1,。更新证书库
尝试更新MacOS的证书库,可以通过以下命令行执行

sudo /usr/bin/security delete-certificate -Z 7585B0DC6B4F4A23AB9640F1D14D0DFA5AF8F8D3 /Library/Keychains/System.keychain
sudo /usr/bin/security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /path/to/your/cert.crt


其中/path/to/your/cert.crt指的是你要添加的证书路径。

忽略证书验证
在代码中添加以下代码,可以忽略SSL证书验证:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context


希望可以帮到你!!!回答不易,还请采纳!!!

参考GPT和自己的思路,这个错误是由于SSL证书验证失败引起的,可能是由于您的计算机中缺少根证书导致的。

您可以尝试以下方法解决此问题:

1 更新您的计算机中的根证书
您可以前往以下网站下载并安装根证书:

https://support.apple.com/kb/dl1802?locale=en_US

安装完成后,重新启动计算机并尝试再次使用图片放大功能。

2 禁用SSL证书验证
如果更新根证书后仍然无法解决问题,您可以尝试在代码中禁用SSL证书验证。在您的Python脚本中添加以下代码即可:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context


请注意,禁用SSL证书验证可能会降低网络安全性,因此不建议长期使用。

该回答引用ChatGPT

这错误提示可能是由于 macOS 的安全机制导致的。macOS 会自动验证 SSL 证书的合法性,如果证书验证失败,就会报上述错误。

你可以尝试按以下步骤解决该问题:

1、打开“钥匙串访问”(Keychain Access)应用程序,它位于“应用程序/实用工具/”目录下。
2、在左侧的“钥匙串”(Keychains)栏中选择“系统”(System)。
3、在右侧的“分类”(Category)栏中选择“证书”(Certificates)。
4、在证书列表中找到并双击“DigiCert High Assurance EV Root CA”证书。
5、在弹出的证书信息窗口中,展开“信任”(Trust)选项卡,将“使用此证书时”(When using this certificate)选项设置为“始终信任”(Always Trust)。
6、关闭证书信息窗口,再次尝试使用图片放大功能,看看是否仍然出现上述错误。、

如果以上步骤不能解决问题,请尝试更新 Python 和相关库的版本。你也可以考虑使用其他放大图片的 Python 库或者应用程序。

这个错误通常表示SSL证书无法验证,可能是由于缺少本地证书或本地证书不受信任引起的。您可以尝试以下几个解决方案:

  1. 禁用SSL验证:在调用urlopen函数之前,使用ssl.create_default_context()函数创建一个不验证SSL证书的SSL上下文,并将其传递给urlopen函数。示例代码如下:
    import ssl
    import urllib.request
    ctx = ssl.create_default_context()
    ctx.check_hostname = False
    ctx.verify_mode = ssl.CERT_NONE
    response = urllib.request.urlopen(url, context=ctx)
    

请注意,禁用SSL验证可能会存在安全风险。

  1. 安装缺失的本地证书:您可以尝试从证书颁发机构(CA)获取缺失的本地证书并安装它们。要安装证书,请将证书文件保存到Python的证书存储目录中(通常为/usr/local/share/ca-certificates/)。然后使用以下命令更新证书存储:
    sudo update-ca-certificates

  2. 设置环境变量:您可以设置PYTHONHTTPSVERIFY环境变量以忽略SSL证书验证错误。示例代码如下:

    import os
    import urllib.request
    os.environ['PYTHONHTTPSVERIFY'] = '0'
    response = urllib.request.urlopen(url)
    

请注意,此方法也可能存在安全风险。

希望这些解决方案能够解决您的问题!

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
这个错误是由于Python未能验证证书,或者证书没有正确安装引起的。解决方法如下:

  1. 确认Python版本

检查你的Python版本是否是可以使用Stable Diffusion Webui的版本。Stable Diffusion Webui 支持Python 3.6或更高版本,但是在Python 3.10.10上可能会遇到一些问题。尝试切换到Python 3.9或更低版本,然后重试。

  1. 安装证书

打开终端,使用以下命令来更新证书:

sudo "/Applications/Python 3.10/Install Certificates.command"

确保将“Python 3.10”替换为你当前运行的Python版本。

  1. 关闭SSL验证

如果以上方法都无法解决问题,可以尝试在请求上禁用SSL验证。这是不安全的,但是如果你正在测试开发环境,可以这样做。在请求代码之前,使用以下代码:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

这将禁用SSL验证,使你的请求可以在你的计算机上正常执行。但是,这应该只在测试环境中使用,每次执行程序时都需要手动设置。

希望这些方法可以帮助到你。
如果我的回答解决了您的问题,请采纳!