如何解决NameError: name 'ArffDecoder' is not defined报错
NameError: name 'ArffDecoder' is not defined 报错排查解决 这个报错是arff依赖包安装错误、或者模块导入被本地文件覆盖导致的,按以下步骤排查即可:
- 第一步:卸载错误安装的arff包
PyPI上有两个名称高度相似的arff处理包,你当前环境安装的是基础版arff,这个包没有ArffDecoder类,先在终端执行命令卸载:
pip uninstall arff -y
- 第二步:安装正确的依赖包
带有ArffDecoder类的arff处理包是liac-arff,执行命令安装:
pip install liac-arff
- 第三步:排查本地文件覆盖问题
如果装完正确包运行还是报同样的错,检查你当前Python脚本所在的工作目录下,有没有自己创建的命名为arff.py的文件、或者命名为arff的文件夹,这类本地文件的加载优先级高于系统安装的第三方库,会导致导入时加载错误模块,把这类本地重名文件/文件夹改名即可。
注意:安装完
liac-arff之后,你原有代码里的import arff as arf导入语句不需要修改,读取arff文件的代码逻辑可以直接正常运行。
内容的提问来源于stack exchange,提问作者Benison Simbarashe Mugweni
相关产品推荐
相关产品推荐

