Python &引用;从a进口b“;不工作,但我可以导入a,然后使用a.b 概述
Python &引用;从a进口b“;不工作,但我可以导入a,然后使用a.b 概述,python,python-3.x,amazon-web-services,python-module,Python,Python 3.x,Amazon Web Services,Python Module,从elasticsearch导入elasticsearch不起作用 确实有效 避蚊胺 我正在尝试使用AWS(AmazonLinuxE3机器上的ssh)在python中使用一个简单的Elasticsearch客户端。我复制的代码是。我无法按照指南中的说明导入Elasticsearch类 使用elasticsearch中的导入elasticsearch会出现错误:导入错误:无法导入名称“elasticsearch” 我打开python3 cli来检查它。如果我在elasticsearch impor
从elasticsearch导入elasticsearch
不起作用
确实有效
避蚊胺
我正在尝试使用AWS(AmazonLinuxE3机器上的ssh)在python中使用一个简单的Elasticsearch客户端。我复制的代码是。我无法按照指南中的说明导入Elasticsearch类
使用elasticsearch中的导入elasticsearch
会出现错误:导入错误:无法导入名称“elasticsearch”
我打开python3 cli来检查它。如果我在elasticsearch import E中键入,然后单击tab complete,我会得到以下建议:EOFError(省略号环境错误(异常(
)。但是,elasticsearch import省略号中的给了我导入错误:无法导入名称“省略号”
如果我键入import elasticsearch
,然后在下一行elasticsearch.
点击tab自动完成,我会得到我期望的完整范围(elasticsearch(
,requestshttpcconnection(
),等等)
我认为这与安装方式/位置有关。
我最初使用pip3 install elasticsearch--user
来安装它。我卸载了它(pip3 uninstall elasticsearch
),并返回到python cli。从elasticsearch导入E
仍然会给我eoferor(省略号环境错误(异常(
在选项卡上完成,但从elasticsearch导入省略号
现在返回ModuleNotFoundError:没有名为“elasticsearch”的模块
,只返回导入elasticsearch
)
我不太清楚到底发生了什么。我没有将其标记为elasticsearch,因为这可能是一个用户错误:p
哪个python3
:/usr/bin/python3
哪个pip3
:~/.local/bin/pip3
pip3--version
:pip 18.1 from/home/ec2 user/.local/lib/python3.6/site-packages/pip(python 3.6)
我的问题是,我将文件命名为与我试图从-elasticsearch.py导入的模块相同的东西。正如user2357112所述,我挂断了不正确的自动完成功能。您描述的导入行为与其本身不一致,而且听起来它可能来自您的系统中不同点的混合处理安装或卸载不同内容的过程。不要太认真对待自动完成建议-Python的默认自动完成程序不太好。它不知道如何从导入中自动完成。IPython做得更好。(当我说“可能来自您的过程中安装或卸载了不同东西的不同点的混合”,我的意思不仅仅是指您所说的卸载elasticsearch的部分。“Deets”部分中的部分听起来不一致。)你是对的。我看到了自动完成,它把我带到了错误的方向。我想我的问题是我的主文件名为'elasticsearch.py'T-T。我想这也解释了python cli的问题。我想我在~
中运行它是为了避免潜在的问题。无论如何,在重命名我的初始文件后似乎可以工作。
import elasticsearch
e = elasticsearch.Elasticsearch(...)