ошибка метания при использовании команды pip - PullRequest
0 голосов
/ 25 октября 2019

Когда я пытаюсь выполнить команду pip через ansible, я получаю сообщение об ошибке.

{"updated": false, "msg": "Невозможно найти любой из pip для использования. Pipдолжен быть установлен. "}

Когда я отлаживал на своей машине, я обнаружил, что pip был установлен в последней версии. Я понял, что мой файл использует sudo для запуска пипса.

Так что, если я делаю which pip, я получаю путь пипа, но если я делаю sudo which pip, я ничего не получаю.

Я не знаюЯ не знаю, как изменить мой файл, поэтому вместо sudo требуется

- name: "Allow newuser for new super user without SUDO password for using rsync:"
  lineinfile:
    path: /etc/sudoers
    state: present
    insertafter: '^%sudo'
    line: "{{ user }} ALL=(ALL:ALL) NOPASSWD: /usr/bin/rsync"
- pip:
    name: opencv-python
    state: forcereinstall
    executable: pip

Я не знаю, как решить эту проблему

1 Ответ

0 голосов
/ 25 октября 2019

На удаленном хосте выясните, какой пункт используется удаленным пользователем. Используйте этот исполняемый файл и станьте этим удаленным пользователем. Например,

- name: Install opencv-python
  become_user: admin
  become: true
  pip:
    name: opencv-python
    state: forcereinstall
    executable: /home/admin/.local/bin/pip

См. Стать непривилегированным пользователем . Конвейерная обработка должна решить проблемы становления непривилегированным пользователем.

$ grep pipe ansible.cfg 
pipelining = true

Примечания

  • Все, что вы устанавливаете с помощью pip таким образом, будет доступно для этого конкретного удаленноготолько для пользователя.

  • Предпочтительно использовать пакеты distro. Например,

    $ apt-cache search python-opencv
    python-opencv - Python bindings for the computer vision library
    python-opencv-apps - opencv_apps Robot OS package - Python 2 bindings
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...