【问题标题】:how to force ansible to use python3如何强制ansible使用python3
【发布时间】:2021-06-14 19:14:30
【问题描述】:

我正在运行CentOS7。我已经安装了dnf并将 Centos 上的默认版本更新为python3。我在库存中添加了ansible_python_interpreter=/bin/python3。当我运行ansible -- version 时,它仍然显示python2.7。我还做了一个yum 擦除ansible,然后是一个dnfinstall ansible。最后我卸载了ansible并通过pip3 install ansible安装了它。即使做了所有这些,我的 python 版本仍然是2.7。我错过了什么才能使用 python3 作为默认版本?

【问题讨论】:

  • 你能做ls -lrt /bin/python3并分享输出吗?
  • 还有printenv |grep -i ansible
  • 确保您之前没有在 python2 中通过 pip 安装 ansible。如果存在,则从 python2 中删除。或者,使用 python3 virtualenv 安装和运行。

标签: python python-3.x ansible


【解决方案1】:

按照步骤here 说明如何使用以下变量配置python 解释器:

ansible_python_interpreter=/usr/bin/python3

如果您使用的是 AWX,您可以在您的清单中创建一个代表您的 python 3 主机的组,并在组级别设置变量。或者您可以在全局变量中或在剧本本身中执行此操作。

在 ansible 中启用 python 3 需要做一些先决条件。它包含在上面链接的文档中。

【讨论】:

    【解决方案2】:

    只是为了扩展 @colyn1337 答案 我展示了一些对我有用的示例代码。此路径在我的 MAC 上,但要找出您的 Python3 所在的位置并将其指向该目录。

    ---                                                                         
     - name: load files from AWS S3 bucket
       hosts: localhost
       connection: local
       become: true
       vars:
         ansible_python_interpreter: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3
       tasks:
    

    【讨论】:

      猜你喜欢
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 2017-04-14
      • 1970-01-01
      相关资源
      最近更新 更多