Python 如何解决;boto3/boto缺失”字样;访问AWS模块时Ansible中出现错误

Python 如何解决;boto3/boto缺失”字样;访问AWS模块时Ansible中出现错误,python,amazon-web-services,ansible,boto3,boto,Python,Amazon Web Services,Ansible,Boto3,Boto,当运行AWS模块(如route53_info和ec2_group_info)时,会出现json/boto3/boto错误,如: "json and boto/boto3 is required." 及 我已经验证了boto和boto3都是由pip3安装的,“json”显然是一个核心模块,因此不需要安装 环境: 运行Ubuntu18.04.3 LTS的Vagrant/VirtualBox虚拟机 /usr/bin/python和/usr/bin/python2是pythonv2.17.15+; /

当运行AWS模块(如route53_info和ec2_group_info)时,会出现json/boto3/boto错误,如:

"json and boto/boto3 is required."

我已经验证了boto和boto3都是由pip3安装的,“json”显然是一个核心模块,因此不需要安装

环境:

运行Ubuntu18.04.3 LTS的Vagrant/VirtualBox虚拟机

/usr/bin/python和/usr/bin/python2是pythonv2.17.15+; /usr/bin/python3是python v3.6.9

/usr/bin/pip3是v9.0.1(看起来很旧,但当我更新它时,很多东西坏了)

“pip3列表| grep boto”收益率: 博托(2.49.0) boto3(1.10.29) botocore(1.13.29)

我很困惑,因为Ansible的一部分似乎在使用python2,另一部分在使用python3。有人怎么调试这样的东西


我愿意接受所有建议。

我上面的猜测(关于Ansible部分使用python2,而其他部分使用python3)是正确的。我使用python2安装了pip,然后安装了boto和boto3。“boto…required”消息不见了。为什么Ansible(或任何人)使用python2(认识到重新编写代码绝非易事)?。如果您不想依赖此机制,可以将主机var
ansible\u python\u解释器设置为您想要使用的路径或调整发现方法(请参阅链接)。ansible将与Python2和Python3一起运行。这独立于控制器上使用的python版本,这取决于您如何安装ansible。此外,我已将配置设置为不再安装Python2(在Ubuntu 18.04下)。因此,任何执行Python代码的操作都将执行/usr/bin/python3。这也是解决问题的一种方法:)@Zeitounator,感谢您提供了指向该变量的指针。我上面的猜测(关于Ansible部分使用python2,而其他部分使用python3)是正确的。我使用python2安装了pip,然后安装了boto和boto3。“boto…required”消息不见了。为什么Ansible(或任何人)使用python2(认识到重新编写代码绝非易事)?。如果您不想依赖此机制,可以将主机var
ansible\u python\u解释器设置为您想要使用的路径或调整发现方法(请参阅链接)。ansible将与Python2和Python3一起运行。这独立于控制器上使用的python版本,这取决于您如何安装ansible。此外,我已将配置设置为不再安装Python2(在Ubuntu 18.04下)。因此,任何执行Python代码的操作都将执行/usr/bin/python3。这也是解决问题的一种方法:)@Zeitounator,感谢您提供了指向该变量的指针。
"boto3 required for this module"