Amazon ec2 使用EC2模块时,Ansible中的语法错误与输入无关

Amazon ec2 使用EC2模块时,Ansible中的语法错误与输入无关,amazon-ec2,ansible,boto,ansible-playbook,Amazon Ec2,Ansible,Boto,Ansible Playbook,在加载任何涉及EC2模块的ansible playbook时,我似乎会遇到以下错误: fatal: [127.0.0.1]: FAILED! => {"changed": false, "failed": true, "module_stderr": " File \"/tmp/ansible_j7uw9w39/ansible_module_ec2.py\", line 919\n except boto.exception.NoAuthHandlerFound, e:\n

在加载任何涉及EC2模块的ansible playbook时,我似乎会遇到以下错误:

fatal: [127.0.0.1]: FAILED! => {"changed": false, "failed": true, "module_stderr": "  File \"/tmp/ansible_j7uw9w39/ansible_module_ec2.py\", line 919\n    except boto.exception.NoAuthHandlerFound, e:\n                                            ^\nSyntaxError: invalid syntax\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false}
我已经用位于的基本剧本做了测试,以确保我不会发疯

我有什么遗漏吗?我尝试了Ansible 2.1和2.2(git),没有任何变化。我觉得这一定是一个PEBKAC的错误,因为谷歌在这个问题上什么都不做

我已验证boto auth是否有效,并且可以找到我的凭据:

Python 2.7.11 (default, Mar 31 2016, 06:18:34) 
[GCC 5.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import boto.ec2
>>> conn = boto.ec2.connect_to_region("us-west-2")
>>> type(conn)
<class 'boto.ec2.connection.EC2Connection'>
Python 2.7.11(默认,2016年3月31日06:18:34)
linux2上的[GCC 5.3.0]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>导入boto.ec2
>>>conn=boto.ec2.将_连接到_地区(“us-west-2”)
>>>类型(conn)

原来是PEBKAC,我不知道即使在本地执行ansible模块(如EC2)也会运行一个新的python实例

通过设置解决:

ansible_python_interpreter=/usr/bin/python2
在/etc/ansible/hosts中的本地主机上