Обзор
from elasticsearch import Elasticsearch
работает не работает.
import elasticsearch
e = elasticsearch.Elasticsearch(...)
работает работает.
Deets
Я пытаюсь использовать простой клиент Elasticsearch в python, используя AWS (ssh'd на машине Amazon linux e3). Код, который я копирую, здесь . Я не могу импортировать класс Elasticsearch, как описано в руководстве.
Использование from elasticsearch import Elasticsearch
дает мне ошибку: ImportError: cannot import name 'Elasticsearch'
.
Я открыл клиент python3, чтобы проверить его. Если я наберу from elasticsearch import E
и завершу табуляцию, я получу следующие предложения: EOFError( Ellipsis EnvironmentError( Exception(
. Однако from elasticsearch import Ellipsis
дает мне ImportError: cannot import name 'Ellipsis'
.
Если я наберу import elasticsearch
, затем на следующей строке elasticsearch.
и нажму клавишу табуляции для автозаполнения, я получу полный ожидаемый диапазон (Elasticsearch(
, RequestsHttpConnection(
и т. Д.).
Я предполагаю, что это как-то связано с тем, как / где он установлен.
Я использовал pip3 install elasticsearch --user
, чтобы установить его изначально. Я удалил его (pip3 uninstall elasticsearch
) и вернулся в python cli. from elasticsearch import E
по-прежнему дает мне EOFError( Ellipsis EnvironmentError( Exception(
на табуляции, но from elasticsearch import Ellipsis
теперь возвращает ModuleNotFoundError: No module named 'elasticsearch'
, как и просто import elasticsearch
.
Не совсем уверен, что случилось. Я не помечал это как asticsearch , потому что это может быть ошибка пользователя: P
which python3
: / usr / bin / python3
which pip3
: ~ / .local / bin / pip3
pip3 --version
: пункт 18.1 из /home/ec2-user/.local/lib/python3.6/site-packages/pip (python 3.6)