Spacy报OSError[E050]无法找到en_core_web_sm模型,PyCharm开发聊天机器人报错
OSError: [E050] 找不到'en_core_web_sm'模型 解决方案
核心问题
你已经安装了spacy库,但spacy的预训练模型en_core_web_sm没有安装到当前PyCharm项目对应的Python3.7虚拟环境中,或者模型版本和你安装的spacy版本不匹配。
操作步骤
- 打开PyCharm项目下方的「Terminal」终端面板,确认终端行开头有
(venv)标识,说明已自动激活当前项目的虚拟环境,后续命令都在这个终端里执行。 - 先确认当前spacy版本,执行命令:
pip show spacy
查看返回结果里的Version字段,Python3.7最高支持spacy3.4.x版本,如果你的版本高于3.4.4,先执行降级:pip install spacy==3.4.4 - 安装对应版本的
en_core_web_sm模型,二选一即可:
- 自动匹配安装(推荐):
python -m spacy download en_core_web_sm - 手动安装(自动下载失败时用):
先下载和你spacy版本匹配的en_core_web_smwhl安装包到本地,再执行命令安装:pip install 你本地保存的whl包完整路径
- 验证安装是否成功,在终端执行以下代码,没有报错即为成功:
import spacy nlp = spacy.load("en_core_web_sm") print("模型加载成功")
可选兼容配置
如果仍有加载问题,可调整原有代码的ChatBot初始化逻辑,删除单独的spacy.load("en_core_web_sm")行,在初始化ChatBot时指定语言模型:
my_bot = ChatBot( name='Dalt Wisney', read_only=True, logic_adapters=['chatterbot.logic.TimeLogicAdapter','chatterbot.logic.MathematicalEvaluation','chatterbot.logic.BestMatch'], tagger_language='en_core_web_sm' )
内容的提问来源于stack exchange,提问作者Bronson Benzien
相关产品推荐
相关产品推荐

