当我尝试将python3.5中的Elasticsearch导入到python 3.7时,我总是得到相同的错误。
代码:
from elasticsearch import Elasticsearch
print(Elasticsearch())错误:
Traceback (most recent call last):
File "elasticsearch.py", line 3, in <module>
from elasticsearch import Elasticsearch
File "/app/elasticsearch.py", line 3, in <module>
from elasticsearch import Elasticsearch
ImportError: cannot import name 'Elasticsearch' from 'elasticsearch' (/app/elasticsearch.py)Python 3.8的错误
Traceback (most recent call last):
File "elasticsearch.py", line 1, in <module>
from elasticsearch import Elasticsearch
File "/app/elasticsearch.py", line 1, in <module>
from elasticsearch import Elasticsearch
ImportError: cannot import name 'Elasticsearch' from partially initialized module 'elasticsearch' (most likely due to a circular import) (/app/elasticsearch.py) 我在Ubuntu 18.04,Windows和Docker上尝试过。对于Docker,我尝试了python:3.8到python:3.5,也尝试了python: also 3.8到python:alpine 3.5
作为我的需求,我使用:
elasticsearch==7.1.0搜索Elasticseach包
pip show elasticsearch
Name: elasticsearch
Version: 7.1.0
Summary: Python client for Elasticsearch
Home-page: https://github.com/elastic/elasticsearch-py
Author: Honza Král, Nick Lang
Author-email: honza.kral@gmail.com, nick@nicklang.com
License: Apache License, Version 2.0
Location: /usr/local/lib/python3.7/site-packages
Requires: urllib3
Required-by:
PS我也试过使用elasticsearch版本6和5,但总是出现同样的错误。我很困惑..。
发布于 2019-12-20 00:03:58
就像我上面说的,只需将脚本elasticsearch.py重命名为另一个..
发布于 2020-06-22 09:09:42
您的文件名不应与包名称相同。通过重命名文件,这个问题就可以解决了。有关为什么会发生此错误的更多信息,请查看this post。
示例:
elasticsearch.py ----rename-to----> sth-else.pyhttps://stackoverflow.com/questions/59412955
复制相似问题