一、问题描述
import jieba导入后,使用jieba.cut()方法时报错AttributeError: module 'jieba' has no attribute 'cut'
二、问题分析
明明已经导包了,为什么使用包里面的方法却报错没有这个属性,原因是有可能导错包了,你要导的包有重名,导致导的这个包其实并不是正确的包
有可能是因为当前目录中有文件名与导入的包名重名了,导致文件冲突。在python中,在导入模块时,模块的搜索顺序是:
1、当前程序根目录
2、PYTHONPATH
3、标准库目录
4、第三方库目录site-packages目录
三、解决方法
经过分析后,发现我自己的目录下,也有一个同名的jieba.py文件,导致在其他文件中导入jieba这个包时,首先导入当前目录下的文件。
通过把当前目录下重名的文件修改文件名后,完美解决问题