Python中CLTK模块导入cltk.corpus报ModuleNotFoundError问题求助
CLTK 导入
cltk.corpus报错解决方案 问题根源
你遇到的ModuleNotFoundError: No module named 'cltk.corpus'报错,是因为当前pip默认安装的CLTK为1.0及以上正式版本,该版本对整体架构做了重构,完全废弃了0.x版本使用的cltk.corpus相关路径与CorpusImporter类,旧版教程的导入方式已无法适配新版接口。
解决方案
你可以根据需求选择以下两种方案之一:
方案1:使用新版CLTK(推荐)
新版CLTK简化了语料下载、模型调用流程,无需手动导入CorpusImporter,可直接完成拉丁文词形还原任务:
- 确认已安装最新版CLTK,若未安装执行命令:
pip3 install --user cltk - 拉丁文词形还原示例代码:
# 导入CLTK核心NLP类 from cltk import NLP # 初始化拉丁文NLP实例,首次运行会自动下载所需的拉丁文语料、词形还原模型 cltk_lat = NLP(language="lat") # 输入待处理拉丁文文本 text = "Gallia est omnis divisa in partes tres" doc = cltk_lat.analyze(text=text) # 遍历输出每个词的词形还原结果 for word in doc.words: print(f"原词:{word.string},还原后:{word.lemma}")
方案2:降级到旧版CLTK适配原有代码
如果你需要沿用旧版教程的代码逻辑,可以将CLTK降级到最后一个0.x稳定版本:
- 执行降级命令:
pip3 install --user cltk==0.1.122 - 降级完成后即可正常运行原有导入代码:
from cltk.corpus.utils.importer import CorpusImporter
注意:0.x版本CLTK已停止维护,后续不会更新模型、修复bug,不建议长期使用。
额外注意事项
- 若运行时出现权限报错,在
pip3命令末尾添加--user参数即可将包安装到当前用户目录,无需管理员权限。 - 首次初始化拉丁文NLP实例时需要下载模型,需保持网络正常连接,下载完成后后续运行无需重复下载。
内容的提问来源于stack exchange,提问作者Prometheus18
相关产品推荐
相关产品推荐

