首页 > 解决方案 > Ansible 不断移动 pip

问题描述

我使用以下代码段python3安装:amazon linux2ansible

    - name: amazon-linux-extras
      shell: "amazon-linux-extras install docker=18.06.1 python3.8 -y"

然后我尝试进行 pip 升级(或任何 pip 安装)

    - name: pip_upgrade
      pip:
        name: "{{ packages }}"
        executable: /usr/local/bin/pip3
        state: latest
      vars:
        packages:
        - pip
        - setuptools

它找不到pip3。

我跑步which pip3,位置不断交替

/usr/local/bin/pip3
/usr/bin/pip3

有没有办法固定到特定位置?我希望通过打电话来绕过,executable: pip3但它又回来了

fatal: [localhost]: FAILED! => {"changed": false, "msg": "Unable to find any of pip3 to use.  pip needs to be installed."}      

标签: pythonansible

解决方案


你能把输出写到which pip3一个var吗?在任务文件中,并将其称为可执行文件?

- name: pip_upgrade
  pip:
    name: "{{ packages }}"
    executable: "{{ pip_bin }}"
    state: latest
  vars:
    pip_bin: which pip3
    packages:
    - pip
    - setuptools


推荐阅读