You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法下载spaCy模型:执行下载命令遇URL错误求助

解决Mac High Sierra虚拟环境中spaCy模型下载的SSL证书验证失败问题

我明白你在Mac High Sierra的venv虚拟环境里执行python -m spacy download en时遇到的SSL证书报错有多头疼,而且试过Install Certificates.command也没解决对吧?这个问题通常是因为虚拟环境的Python没有继承系统更新后的证书,或者certifi包版本太旧导致的,下面给你几个针对性的解决办法:

方法一:更新虚拟环境中的certifi包

certifi是Python用来管理CA证书的核心包,虚拟环境里的certifi可能还是旧版本,和系统的证书库不同步。在激活虚拟环境后执行:

pip install --upgrade certifi

更新完成后再尝试重新下载模型,大概率能解决证书验证的问题。

方法二:确认虚拟环境使用的是自身的certifi证书

有时候更新完certifi还是不行,可能是虚拟环境依然在调用系统的证书配置。可以运行下面的Python代码检查当前证书路径:

import certifi
print(certifi.where())

如果输出的路径是你的虚拟环境目录下的(比如/Users/siddharthdas/venvs/chai/lib/python3.6/site-packages/certifi/cacert.pem),说明配置正常;如果是系统Python的路径,那你需要重新在虚拟环境里安装certifi,确保覆盖系统的默认配置。

方法三:手动安装模型包(绕开SSL下载)

如果上面的方法都不管用,我们可以直接跳过SSL下载环节,手动安装对应的模型。spaCy的en其实对应的是en_core_web_sm模型,你可以根据自己的spaCy版本,直接用pip安装匹配的模型包:

# 先确认你的spaCy版本
pip show spacy
# 安装对应版本的模型,比如spaCy 2.3.x对应2.3.1版本的模型
pip install en_core_web_sm==2.3.1

安装完成后,你还可以在代码里直接加载模型:

import spacy
nlp = spacy.load("en_core_web_sm")

或者创建一个快捷链接让spaCy识别en这个名称:

ln -s /Users/siddharthdas/venvs/chai/lib/python3.6/site-packages/en_core_web_sm /Users/siddharthdas/venvs/chai/lib/python3.6/site-packages/spacy/data/en

方法四:临时跳过SSL验证(应急用,不推荐长期使用)

如果以上方法都试过还是紧急需要用模型,可以临时关闭SSL验证,但这个方法会降低安全性,只建议应急场景使用:

PYTHONWARNINGS="ignore:Unverified HTTPS request" python -m spacy download en

或者在Python脚本里添加以下代码后再运行下载命令:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

内容的提问来源于stack exchange,提问作者Siddharth Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:02:02