«из импорта b» не работает, но я могу импортировать а затем использовать a.b - PullRequest
0 голосов
/ 21 января 2019

Обзор

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)

1 Ответ

0 голосов
/ 22 января 2019

Моя проблема заключалась в том, что я назвал свой файл так же, как и модуль, из которого я пытался импортировать - elasticsearch.py. Как утверждает user2357112, я завис на неправильном автозаполнении.

...