已安装spacy与spacy-transformers仍无法导入,需用en_core_web_trf提取实体
解决方法
- 重命名本地脚本文件
把你当前命名为spacy_transformers.py的脚本改成其他名字,比如spacy_entity_extraction.py,避免和第三方包名冲突 - 清理缓存文件
删除当前目录下自动生成的spacy_transformers.pyc文件(如果存在) - 重新运行代码
使用以下代码测试实体提取:import spacy # 若未安装模型,先执行:python -m spacy download en_core_web_trf nlp = spacy.load('en_core_web_trf') text = "Apple and Samsung" doc = nlp(text) for ent in doc.ents: print(f"实体: {ent.text}, 类型: {ent.label_}")
错误原因
你的脚本文件名spacy_transformers.py和spacy-transformers第三方包的名称完全一致,Python导入模块时会优先搜索当前工作目录的文件,导致它误把你的脚本当成了要导入的包,而你的脚本并不是合法的Python包结构,因此找不到spacy_transformers.pipeline_component子模块。
内容的提问来源于stack exchange,提问作者Fiesty_Anywhere
相关产品推荐
相关产品推荐

