AttributeError: 'module'无'download'属性,nltk导入报错求助
问题分析与解决方案
兄弟,从你的报错栈里一眼就能揪出问题根源——你自己写了个叫csv.py的文件,把Python标准库的csv模块给覆盖了!
看这段关键报错信息:
File "/Users/JK/Documents/csv.py", line 2, in
"""
AttributeError: 'module' object has no attribute 'download'
当nltk内部代码尝试导入标准库的csv模块时,Python会按模块搜索顺序找文件,你的脚本所在的/Users/JK/Documents/目录优先级比系统库高,所以先找到了你自己的csv.py。但这个文件里根本没有download属性(估计是你之前写的某个小脚本,刚好和标准库重名了),于是就抛出了这个莫名其妙的错误,和缓存关系不大哦。
解决起来很简单,按这几步来:
重命名你的自定义
csv.py文件
把/Users/JK/Documents/csv.py改成别的名字,比如my_custom_csv.py,彻底避免和标准库模块名冲突。删除对应的字节码缓存文件
Python会给已导入的模块生成.pyc缓存文件,你得把同目录下的csv.pyc(如果存在的话)也删掉,防止Python还加载旧的缓存。重新运行
newyear1.py
这时候Python就能正确找到系统标准库的csv模块了,nltk的导入流程也能正常走完,报错就消失啦。
内容的提问来源于stack exchange,提问作者kyttcar
相关产品推荐
相关产品推荐

