使用errant搭配spaCy v3遇兼容问题,降级v2仍未解决
解决ERRANT与spaCy v3(及降级v2后)的兼容问题
核心问题分析
ERRANT依赖spaCy v2.x的模型命名逻辑,spaCy v3已废弃直接用en作为模型标识的方式,转而使用en_core_web_sm这类完整名称。即使降级到spaCy v2,若未正确映射模型别名,ERRANT依然找不到'en'模块。
分步解决方案
卸载冲突版本,安装指定兼容版本
先彻底清理现有spaCy环境:pip uninstall -y spacy pip cache purge安装ERRANT官方适配的spaCy版本:
pip install spacy==2.3.5下载对应模型并创建别名
下载spaCy v2的英文核心模型:python -m spacy download en_core_web_sm用spaCy自带命令为模型创建
en别名,让ERRANT可以识别:python -m spacy link en_core_web_sm en验证安装结果
运行以下代码测试:import errant annotator = errant.load('en') print("ERRANT加载'en'模块成功")
额外排查点(降级后仍有问题时)
- 确认使用隔离的虚拟环境,避免全局安装的不同版本spaCy干扰
- 升级ERRANT到最新稳定版:
pip install --upgrade errant - 检查模型安装路径是否正确,确保别名链接没有失效
内容的提问来源于stack exchange,提问作者akesh agarwal
相关产品推荐
相关产品推荐

