Anaconda3中安装OpenKiwi后导入UNK_ID出现ImportError求助
问题:OpenKiwi导入UNK_ID失败
问题场景
在Anaconda3环境中通过pip install openkiwi完成OpenKiwi安装后,执行以下创建词汇表的代码时触发导入错误:
import warnings from collections import defaultdict import torchtext from kiwi.constants import PAD, START, STOP, UNALIGNED, UNK, UNK_ID
错误信息
ImportError Traceback (most recent call last) <ipython-input-6-ea850b280bef> in <module> 4 import torchtext 5 ----> 6 from kiwi.constants import PAD, START, STOP, UNALIGNED, UNK, UNK_ID ImportError: cannot import name 'UNK_ID' from 'kiwi.constants' (C:\Users\Mike\anaconda3\lib\site-packages\kiwi\constants.py)
当前环境依赖版本
- pytorch-lightning: 1.7.6
- pytorch-nlp: 0.5.0
- torch: 1.4.0
- torch metrics: 0.9.3
- torchtext: 0.13.1
- transformers: 3.5.1
解决方法
- 检查常量定义:打开
C:\Users\Mike\anaconda3\lib\site-packages\kiwi\constants.py文件,确认是否存在UNK_ID常量。如果该常量不存在,说明当前安装的OpenKiwi版本已移除或重命名了该常量。 - 调整导入语句:若
UNK_ID确实不存在,修改导入代码,移除对UNK_ID的引用:
from kiwi.constants import PAD, START, STOP, UNALIGNED, UNK
- 修复依赖版本冲突:当前torch 1.4.0与torchtext 0.13.1版本不兼容(torchtext 0.13.x要求torch 1.12及以上版本),这可能引发连锁问题。可以选择:
- 降级torchtext到适配torch 1.4.0的版本,执行命令:
pip install torchtext==0.5.0 - 升级torch到1.12+版本,同时同步调整其他依赖版本以保证兼容性
- 降级torchtext到适配torch 1.4.0的版本,执行命令:
- 指定OpenKiwi版本安装:如果是版本差异导致的常量缺失,尝试安装包含
UNK_ID的旧版本OpenKiwi,例如:pip install openkiwi==1.0.0
内容的提问来源于stack exchange,提问作者Oleg
相关产品推荐
相关产品推荐

