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

加载en_core_web_sm时遇transformers模块BertTokenizerFast属性错误

解决spacy加载en_core_web_sm时的AttributeError问题

问题根源

这个错误的核心是transformers包版本不兼容或安装异常:BertTokenizerFast是transformers的标准类,找不到它说明要么你安装的transformers版本过旧(老版本未引入该类),要么安装的不是官方transformers包,或是spacy_curated_transformers依赖的transformers版本与当前环境不匹配。

解决步骤

1. 清理并重装兼容的transformers包

先卸载现有transformers,再安装与spaCy 3.7.x兼容的版本:

!pip uninstall -y transformers
!pip install transformers>=4.20.0,<5.0.0

spaCy 3.7.x对transformers的兼容范围是4.20.0到5.0.0之间,这个区间能保证BertTokenizerFast存在且与spaCy生态兼容。

2. 用官方方式重装en_core_web_sm模型

手动下载tar.gz安装容易出现版本匹配问题,直接用pip安装对应版本的模型包:

!pip install en-core-web-sm==3.7.0

如果网络条件允许,也可以用spaCy自带的下载命令:

!python -m spacy download en_core_web_sm

3. 验证安装并测试

执行以下代码确认环境正常:

import spacy
print(spacy.__version__)  # 应输出3.7.2
import transformers
print(transformers.__version__)  # 应在4.20.0-5.0.0之间
print(hasattr(transformers, 'BertTokenizerFast'))  # 需输出True
nlp = spacy.load('en_core_web_sm')
doc = nlp("Hello world")
print(doc.text)  # 输出"Hello world"则表示成功

额外排查点

  • 如果import transformers无报错但找不到类,检查当前工作目录是否有重名的transformers.py文件,若有则删除
  • 确认Jupyter Lab使用的是Anaconda对应的Python环境,避免包被安装到其他无关环境中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:57:09