如何避免 Ansible 对特定 Python 版本的依赖?
How do I avoid Ansible dependency on specific Python version?
我正在将一些剧本从 Python 2 移植到 Python 3。在此,一个剧本正在调用 URI 模块,它直接对 /usr/bin/python 进行了令人困惑的调用: (带-vvv)
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'
我试图在没有安装 python 2 的环境中执行此剧本,因此失败了。如何使 URI 模块使用 python3?
调用哪个python是在两个地方控制的。第一个是 ansible.cfg:
ansible_python_interpreter = /usr/bin/python
将本地python可执行环境设置为/usr/bin/python。此外,我能够通过清单变量在托管节点上设置 python 可执行文件:
[managers:vars]
ansible_python_interpreter=/usr/bin/python3
我正在将一些剧本从 Python 2 移植到 Python 3。在此,一个剧本正在调用 URI 模块,它直接对 /usr/bin/python 进行了令人困惑的调用: (带-vvv)
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'
我试图在没有安装 python 2 的环境中执行此剧本,因此失败了。如何使 URI 模块使用 python3?
调用哪个python是在两个地方控制的。第一个是 ansible.cfg:
ansible_python_interpreter = /usr/bin/python
将本地python可执行环境设置为/usr/bin/python。此外,我能够通过清单变量在托管节点上设置 python 可执行文件:
[managers:vars]
ansible_python_interpreter=/usr/bin/python3