使用pip命令时出现明显的抛出错误

时间:2019-10-24 22:48:58

标签: ansible

当我尝试通过ansible运行pip命令时,我错误地登陆了。

  

{“已更改”:false,“ msg”:“找不到要使用的任何pip。需要安装pip。”}

在我的机器上调试时,我发现pip已安装最新版本。我意识到我的文件使用sudo来运行pip。

所以,如果我这样做which pip 我得到了点子的路径,但是如果我做sudo which pip,我什么也没得到。

我不知道如何更改文件,因此需要sup而不是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 :(得分:0)

在远程主机上,找出远程用户使用哪个点。使用此可执行文件成为该远程用户。例如

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

请参见Becoming an Unprivileged User。管道应该解决成为无特权用户的问题。

$ grep pipe ansible.cfg 
pipelining = true

注释

  • 通过pip安装的所有内容仅对特定的远程用户可用。

  • 最好使用发行版软件包。例如

    $ 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
相关问题