运行LEONA项目代码报错:无法从allennlp模块导入AllennlpDataset
导入报错解决方案
错误原因
该报错由AllenNLP版本不兼容导致:AllennlpDataset类仅存在于AllenNLP 1.x版本中,2.0及以上版本已对该类做了移除/重构处理,当前安装的AllenNLP版本高于代码适配的版本,因此无法完成导入。
解决方法
方案一:降级AllenNLP到适配版本
直接执行以下命令安装1.x系列最终稳定版,完美匹配原代码的导入规则:
pip install allennlp==1.5.0 allennlp-models==1.5.0
安装完成后重新运行代码即可。如果是虚拟环境,执行前先激活对应虚拟环境,避免包安装到全局环境不生效。
方案二:修改导入语句适配高版本AllenNLP
如果不想降级AllenNLP版本,可直接修改原代码第36行的导入语句:
- 先尝试将原导入代码
from allennlp.data.dataset_readers.dataset_reader import AllennlpDataset
替换为
from allennlp.data import AllennlpDataset
- 如果替换后仍报错,说明使用的是2.3以上版本,该类已重命名为
Dataset,继续替换为以下代码即可,原有调用逻辑无需修改:
from allennlp.data import Dataset as AllennlpDataset
内容的提问来源于stack exchange,提问作者Ashutosh Kumar Trivedi
相关产品推荐
相关产品推荐

