如何避免Ansible对特定Python版本的依赖?

如何避免Ansible对特定Python版本的依赖?,python,python-3.x,ansible,uri,Python,Python 3.x,Ansible,Uri,我正在将一些剧本从Python 2移植到Python 3。在本例中,一个剧本正在调用URI模块,它直接对/usr/bin/python进行了令人困惑的调用:(使用-vvv) 使用模块文件/usr/local/lib/python3.5/dist- packages/ansible/modules/net_tools/basics/uri.py 为用户建立本地连接:root EXEC/bin/sh-c'/usr/bin/python&&sleep 0' 我试图在没有安装Python2的环境中执行

我正在将一些剧本从Python 2移植到Python 3。在本例中,一个剧本正在调用URI模块,它直接对/usr/bin/python进行了令人困惑的调用:(使用-vvv)

使用模块文件/usr/local/lib/python3.5/dist-
packages/ansible/modules/net_tools/basics/uri.py
为用户建立本地连接:root
EXEC/bin/sh-c'/usr/bin/python&&sleep 0'

我试图在没有安装Python2的环境中执行这个剧本,因此失败了。如何使URI模块使用python3?

调用哪个python由两个地方控制。第一个是ansible.cfg:

ansible\u python\u解释器=/usr/bin/python

将本地python可执行环境设置为/usr/bin/python。此外,我还可以通过库存变量在托管节点上设置python可执行文件:

[管理者:变量]
ansible_python_解释器=/usr/bin/python3

调用哪个python由两个地方控制。第一个是ansible.cfg:

ansible\u python\u解释器=/usr/bin/python

将本地python可执行环境设置为/usr/bin/python。此外,我还可以通过库存变量在托管节点上设置python可执行文件:

[管理者:变量]
ansible_python_解释器=/usr/bin/python3

Using module file /usr/local/lib/python3.5/dist- 
packages/ansible/modules/net_tools/basics/uri.py
<10.216.247.143> ESTABLISH LOCAL CONNECTION FOR USER: root
<10.216.247.143> EXEC /bin/sh -c '/usr/bin/python && sleep 0'