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

导入Python库pke时触发KeyError: 'hinglish'错误的解决咨询

修复pke库导入时的KeyError: 'hinglish'错误

问题原因

这个错误是因为pke的base.py文件中维护的语言代码映射字典LANGUAGE_CODE_BY_NAME不包含hinglish(印地英语)对应的ISO 639-1两位代码,而你的nltk stopwords库中存在hinglish的停用词文件,导致遍历匹配时触发KeyError。

修复方案

方案一:修改pke源码(永久生效)

  1. 找到报错路径中的base.py文件:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pke/base.py
  2. 打开文件,定位到LANGUAGE_CODE_BY_NAME字典(文件开头区域),添加hinglish对应的语言代码映射:
LANGUAGE_CODE_BY_NAME = {
    'english': 'en',
    'hinglish': 'hi',  # 新增这一行,hinglish基于印地语,对应代码hi
    # 保留其他已有的语言映射条目
}
  1. 保存文件后,重新导入pke即可正常使用。

方案二:临时过滤停用词文件(无需修改源码)

在导入pke之前,先移除nltk stopwords中的hinglish条目,代码如下:

import nltk
from nltk.corpus import stopwords

# 过滤掉hinglish停用词文件
stopwords._fileids = [f for f in stopwords._fileids if f != 'hinglish']

# 再导入pke
import pke

注意:该方案每次运行脚本都需要先执行这段过滤代码,否则会再次触发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:03:37