![](/img/trans.png)
[英]ElasticSearch ImportError: cannot import name 'Mapping' from 'elasticsearch.compat'
[英]ImportError: cannot import name 'Elasticsearch' from 'elasticsearch'
当我尝试将 python 3.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)
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:alpine-3.8 到 python:alpine-3.5
elasticsearch==7.1.0
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。但总是出现相同的错误。 我很困惑...
就像我上面说的,只需将您的脚本 elasticsearch.py 重命名为另一个 ..
您的文件名不应与包名相同。 通过重命名文件,问题将得到解决。 有关发生此错误的更多信息,您可以查看此帖子。
例子:
elasticsearch.py ----rename-to----> sth-else.py
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.