我正在执行:
ansible-playbook --version
我得到以下输出:
ansible-playbook 2.5.14
config file = /etc/ansible/ansible.cfg
configured module search path = [u'~/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible-playbook
python version = 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]
但是当我执行时:
ansible-playbook --version -e 'ansible_python_interpreter=/usr/bin/python3'
我有完全相同的输出。我期待有类似的东西:
python version = 3.5.2
我误会了什么?
原文由 Zumo de Vidrio 发布,翻译遵循 CC BY-SA 4.0 许可协议
要更改托管主机上使用的 python 解释器,您可以根据您的问题使用额外变量或库存变量。这不会更改用于在本地执行 ansible 的 python 版本 - 这在另一个答案中提到。
要确认您在托管主机上使用不同的解释器,您将需要更详细的输出(至少 3 个’v’s,
-vvv
)。在 shell 命令中运行python --version
只会向您展示系统的默认 python 版本。例子
Python2 解释器:
Python3 解释器:
要点