Ansibleでターゲットノードにてpython3を使用する
ansible.cfgによるpython3指定でトラブルに遭遇したので備忘
環境
ansible 2.9.4, 2.9.5
変数で設定
変数で設定する場合には、ansible_python_interpreterを使用する。
- ansible-playbookコマンドに対する-eオプションによる設定例
$ ansible-playbook -e ansible_python_interpreter=/usr/bin/python3 site.yml
- inventoryにおける設定例
inventory
[all:vars]
ansible_python_interpreter=/usr/bin/python3
- play vars, task varsなどにおける設定例
playなど
vars:
ansible_python_interpreter: /usr/bin/python3
公式: Python 3 Support > Using Python 3 on the managed machines with commands and playbooks
ansible.cfgによる設定
ansible.cfgにおいて設定する場合、ansible_python_interpreterでは無く、interpreter_pythonを使用する事に注意。
ansible.cfg
[defaults]
interpreter_python=/usr/bin/python3