安装crepe模型时遇metadata-generation-failed及SSL证书验证错误求助
解决crepe安装时SSL证书验证失败导致的metadata-generation-failed错误
问题分析
错误根源是crepe的setup.py在自动下载权重文件model-tiny.h5.bz2时,Python的urllib无法通过SSL证书验证,触发[SSL: CERTIFICATE_VERIFY_FAILED]错误,进而导致metadata-generation-failed。
可行解决方案
1. 手动下载权重文件跳过自动下载
- 手动获取
model-tiny.h5.bz2权重文件(可从crepe的官方代码仓库中找到对应文件) - 将文件放到crepe默认的权重存储目录:
- Linux/macOS:
~/.crepe/ - Windows:
C:\Users\<你的用户名>\.crepe\
- Linux/macOS:
- 重新执行模型安装命令,此时
setup.py会检测到文件已存在,跳过下载步骤。
2. 临时修改setup.py禁用SSL验证(仅测试环境)
- 找到crepe包中的
setup.py文件,定位到第30行附近的下载代码 - 在文件开头添加导入:
import ssl - 将
urllib.request.urlopen()调用修改为:urllib.request.urlopen(url, context=ssl._create_unverified_context()) - 保存修改后重新运行安装命令。
3. 更新本地CA证书链
- Windows:通过系统更新同步最新根证书,或手动下载安装官方根证书包
- macOS:运行Python安装目录下的
Install Certificates.command(路径示例:/Applications/Python 3.10/Install Certificates.command),或在钥匙串访问中信任对应SSL证书 - Linux(Debian/Ubuntu):执行命令更新证书:
sudo apt-get update && sudo apt-get install --reinstall ca-certificates - Linux(CentOS/RHEL):执行命令更新证书:
sudo yum update ca-certificates
4. 配置可信代理(若使用代理网络)
- 确保代理服务器的SSL证书已被本地系统信任
- 安装前设置代理环境变量:
- Windows:
set HTTPS_PROXY=http://你的代理地址:端口 - Linux/macOS:
export HTTPS_PROXY=http://你的代理地址:端口
- Windows:
- 执行模型安装命令。
内容的提问来源于stack exchange,提问作者M.pillow
相关产品推荐
相关产品推荐

