通过:pip install pyelasticsearch 安装了pyelasticsearch 包
脚本:elasticsearch.py
内容:
from pyelasticsearch import ElasticSearch
es = ElasticSearch("http://192.168.182.166:9200/")
print es
报错内容:ImportError: cannot import name ElasticSearch
之后觉好神奇的样子,怎么会没有这个包呢?
之后就Google了一下这个错误,发现上面是有答案的。
原因:因为在用户/root 下面有个elasticsearch(脚本的名字elasticsearch.py),当我import的时候,它是找到我当前的文件(elasticsearch.py)去导入,而不是找pip所安装的elasticsearch 去导入。所以报错!
之后修改了脚本名(elasticsearch.py改成es.py),同时把之前运行生成的elasticsearch.pyc 文件删除掉,再运行(python es.py),果断OK了。
总结:命名冲突