web-dev-qa-db-ja.com

Ansible-ピップが見つかりません

このエラーが発生しています:

    TASK [pip] *********************************************************************
    failed: [default] (item=urllib3) => 
{"changed": false, "item": "urllib3", 
"msg": "Unable to find any of pip2, pip to use.  pip needs to be installed."}

提案に応じて、次のコマンドを実行します。

ansible default -a "which pip"

エラーが発生します:

default | FAILED | rc=1 >>
non-zero return code

つまり、pipがインストールされていないということです。私は使用してpipをインストールしてみました:

ansible default -a "easy_install pip"

次のエラーが発生します。

default | FAILED | rc=2 >>
[Errno 2] No such file or directory

何か案は?

[〜#〜] update [〜#〜] play_local.yamlには、次のタスクがあります。

- name: Prepare system
  hosts: default
  become: yes
  gather_facts: false
  pre_tasks:
    - raw: Sudo apt-get -y install python python-setuptools python-pip build-essential libssl-dev libffi-dev python-dev easyinstall pip
    - file: path=/etc/sudoers.d/ssh-auth-sock state=touch mode=0440
      #- lineinfile: line='Defaults env_keep += "SSH_AUTH_SOCK"' path=/etc/sudoers.d/ssh-auth-sock
    - replace:
        path: /etc/apt/sources.list
        regexp: 'br.'
        replace: ''

このタスクはpipをインストールすべきではありませんか?

4
Eduardo

ピップがハッシュ化されている可能性があります。つまり、pipはパスx(_/usr/local/bin/pip_の可能性があります)にインストールされていますが、パスy(_/usr/bin/pip)_の可能性があります)にキャッシュされています。-_ansible default -m Shell -a ‘type pip’_で確認できます。実行する必要があります-_ansible default -m Shell -a ‘hash -r’_。

ところで、シェルの代わりにコマンドモジュールを使用することもできます。

1

Pipがインストールされていないようです。次のタスクを使用してインストールできます。

- name: Install pip
  apt:
    name: python-pip
    update_cache: yes
    state: present
4
iptizer