Skip to main content
 首页 » 编程设计

python之Ansible:委托(delegate)给时更改python解释器

2025年05月04日14mate10pro

我正在主机 A 上运行一些游戏。

还有一些其他的 play 需要在主机 B(Ubuntu 16.04)上运行,但是它们只随 python3 一起提供,因此下面的任务

- name: db_config -> Create MY database 
  mysql_db: 
    ...create some db 
  delegate_to: "{{ ec2_instance_ip }}" 

失败:

failed: [localhost -> 33.99.123.88] => {"changed": false, "module_stderr": "Shared connection to 33.99.123.88 closed.\r\n", "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", "msg": "MODULE FAILURE", "rc": 127}

如何为委托(delegate)任务更改 python interpeter 仅,如上所示?

请您参考如下方法:

只需将 ansible_python_interpreter 添加到任务中即可:

- name: db_config -> Create MY database 
  mysql_db: 
    ...create some db 
  delegate_to: "{{ ec2_instance_ip }}" 
  vars: 
    ansible_python_interpreter: /path/to/python