Как использовать исполняемый файл ansible pip `/usr/local/bin/python3 -m pip`?

Моя книга игр

- name: "Install python package 'requests'"
  pip:
    name: requests
    executable: /usr/local/bin/python3 -m pip
  become: yes

Какие ошибки с:

TASK [Install python package 'requests'] **************************
fatal: [integration]: FAILED! => changed=false
  cmd: '''/usr/local/bin/python3 -m pip'' install requests'
  msg: '[Errno 2] No such file or directory'
  rc: 2
  stderr: ''
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>

Я не устанавливал pip или pip3 на управляемую ноду, поэтому executable: pip3 работать не будет.


1
50
1

Ответ:

Решено

Согласно документации , рекомендуемый способ добиться этого — использовать модуль easy_install, чтобы сделать pip доступным на управляемом узле, а затем использовать встроенный модуль pip, как обычно.

Обратите внимание, что модуль easy_install может устанавливать только библиотеки Python. Таким образом, этот модуль не может удалять библиотеки. Обычно рекомендуется использовать модуль ansible.builtin.pip, который вы можете сначала установить с помощью community.general.easy_install.

Итак, в двух задачах:

- name: Install or update pip
  community.general.easy_install:
    name: pip
    state: latest
  become: yes

- name: Install python package 'requests'
  ansible.builtin.pip:
    name: requests
  become: yes