首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何为本地和远程主机设置不同的python解释器

如何为本地和远程主机设置不同的python解释器
EN

Stack Overflow用户
提问于 2019-08-26 10:24:01
回答 4查看 7.3K关注 0票数 4

使用案例:

攻略1

  • 当我们第一次连接到远程主机时,远程主机已经安装了一些python版本-自动发现功能会找到它
  • 现在我们安装ansible-docker在远程主机上
  • 从现在开始:ansible docker文档建议使用ansible_python_interpreter=/usr/bin/env python-docker

攻略2

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

要做到这一点,最好的方法是什么?

目前我们设置ansible_python_interpreter在攻略级别上Playbook 2

代码语言:javascript
运行
AI代码解释
复制
---
- name: DaqMon app
  vars:
  - ansible_python_interpreter: "{{ '/usr/bin/env python-docker' }}"

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

  • 当前的解决方法是显式指定ansible_python_interpreter在每个冗长且容易出错的局部操作上

问题

  • 理想的解决方案是,如果我们可以添加'/usr/bin/env python-docker'作为后备interpreter-python-fallback-但我认为这是不可能的
  • 有没有办法只为远程主机设置python解释器,并保留本地主机的默认值?
  • 或者是否可以显式覆盖本地主机的python解释器?
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-08-26 15:40:10

感谢其他有用的答案,我找到了一个简单的解决方案:

  • 在剧本级别,我们将python解释器设置为/usr/bin/env python-docker
  • 然后我们使用set_fact任务来重写仅用于localhost的解释器。

我们还必须委派facts

我们可以使用魔法ansible_playbook_python变量,它指的是在(本地) Ansible主机上用来启动剧本的python解释器:请参见可转换文件

以下是本文开头的重要部分Playbook 2

代码语言:javascript
运行
AI代码解释
复制
---
- name: Playbook 2
  vars:
  - ansible_python_interpreter: "{{ '/usr/bin/env python-docker' }}"
  ...
  tasks:
  - set_fact:
      ansible_python_interpreter: '{{ ansible_playbook_python }}'
    delegate_to: localhost    
    delegate_facts: true
票数 2
EN

Stack Overflow用户

发布于 2019-08-26 11:23:16

您应该将ansible_python_interpreter在主机级别上。

因此,可以显式地为清单中的localhost

代码语言:js
AI代码解释
复制
localhost   ansible_connection=local ansible_python_interpreter=/usr/bin/python

我想你也可以用set_fact打开hostvars[].ansible_python_interpreter在您的localhost或docker主机上。

有一个关于` `hostvars`‘上的`set_fact`的精彩文章!;-P

票数 4
EN

Stack Overflow用户

发布于 2019-08-26 10:40:46

尝试使用set_fact对于ansible_python_interpreter在第一本攻略中的主机级别。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57656073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文