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

加载en_core_web_sm报错,求助解决模型安装与运行异常问题

解决spaCy与en_core_web_sm版本兼容及依赖报错的方案

一、彻底清理环境残留

  • 卸载所有相关包,消除版本冲突隐患:
    pip uninstall -y spacy en_core_web_sm transformers
    
  • 手动删除...anaconda3\Lib\site-packages下的残留文件夹:
    • 查找并删除所有以spacy、en_core_web_sm、transformers开头的文件夹
  • 清理pip缓存,避免安装旧版本包:
    pip cache purge
    

二、使用隔离虚拟环境(核心步骤)

全局环境依赖混乱是问题根源,用虚拟环境彻底隔离:

  • 用conda创建并激活环境(推荐):
    conda create -n spacy_env python=3.9
    conda activate spacy_env
    
  • 或用Python自带venv:
    python -m venv spacy_env
    # Windows下激活
    spacy_env\Scripts\activate
    

三、精准安装匹配版本的依赖

确保spaCy、模型、transformers版本完全兼容:

  1. 安装指定版本spaCy:
    pip install spacy==3.4.3
    
  2. 安装对应版本的en_core_web_sm模型(必须与spaCy主版本一致):
    python -m spacy download en_core_web_sm==3.4.0
    
  3. 安装兼容的transformers版本(解决BertTokenizerFast找不到的问题):
    pip install transformers==4.26.1
    

四、验证安装与运行

运行测试代码确认问题解决:

import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp("Hello, world!")
print([token.text for token in doc])

如果仍报错,执行pip list检查以下版本是否匹配:

  • spacy: 3.4.3
  • en-core-web-sm: 3.4.0
  • transformers: 4.26.1

错误原因说明

  1. AttributeError: module 'transformers' has no attribute 'BertTokenizerFast':transformers版本与spaCy不兼容,要么版本过旧缺失该类,要么版本过新重构了模块结构
  2. RegistryError: Unknown function registry: 'vectors':spaCy与模型版本不匹配,高版本模型的结构与低版本spaCy的注册表不兼容
  3. 手动删除模型文件夹后仍报错:全局环境残留的旧依赖包或缓存未清理,导致安装/加载时仍调用旧版本文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 07:19:54