首页 > 解决方案 > 如何为本地和远程主机设置不同的python解释器

问题描述

用例:

剧本 1

剧本 2

我们再次连接到同一个主机/s,但现在我们必须使用/usr/bin/env python-dockerpython 解释器

做这个的最好方式是什么?

目前我们ansible_python_interpreter在剧本级别设置Playbook 2

---
- name: DaqMon app
  vars:
  - ansible_python_interpreter: "{{ '/usr/bin/env python-docker' }}"

这可行,但这也会改变本地操作的 python 解释器。因此本地操作将失败,因为 (python-docker本地不存在)。

问题

标签: ansible

解决方案


您应该ansible_python_interpreter在主机级别设置 。

所以是的,可以在您的清单中为 localhost显式设置解释器。

localhost   ansible_connection=local ansible_python_interpreter=/usr/bin/python

我假设你也可以在你的 localhost 或 docker 主机上使用set_facton 。hostvars[<host>].ansible_python_interpreter

一篇关于set_factonhostvars 的精彩文章!;-P


推荐阅读