Как установить ansible, используя ansible и pip - PullRequest
0 голосов
/ 30 апреля 2020

Привет. Я пытаюсь установить ansible с помощью pip с использованием vagrant и ansible на сервере Ubuntu Trusty64. Я использовал роли для установки python3, а роль для установки ansible:

---
# tasks file for roles/ansible
- name: install pip3
  apt: name=python3-pip state=present
  tags: ansible

- name: install librerias dev
  apt: name=libssl-dev state=present
  tags: ansible

- name: install librerias essential
  apt: name=build-essential state=present
  tags: ansible

- name: install librerias libdev
  apt: name=libffi-dev state=present
  tags: ansible

- name: install librerias pydev
  apt: name=python-dev state=present
  tags: ansible

- name: install librerias pydev
  apt: upgrade=yes
  tags: ansible

- name: install setuptools
  command: pip3 install setuptools
  tags: ansible

- name: upgrade setuptools
  command: pip3 install --upgrade setuptools
  tags: ansible

- name: install ansible
  command: pip3 install ansible
  tags: ansible

После установки python3 и pip3 установка не удалась при установке ansible со следующей трассировкой ошибки:

Python 3.5 or later is required",                                                                   
    "stderr_lines": [
        "Traceback (most recent call last):", 
        "  File \"/usr/bin/pip3\", line 5, in <module>", 
        "    from pkg_resources import load_entry_point", 
        "  File \"/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py\", line 93, in <module>", 
        "    raise RuntimeError(\"Python 3.5 or later is required\")", 
        "RuntimeError: Python 3.5 or later is required"
    ], 
    "stdout": "", 
    "stdout_lines": []
}

И я не понимаю, зачем мне это тоже решать, потому что я уже установил python3, используя эту роль:

---
# tasks file for roles/python3

- name: aniadir repositorio
  apt_repository: 
   repo: ppa:deadsnakes/ppa
   state: present

- name: actualizar cache
  apt: update_cache=yes

- name: instalar python3
  apt: name=python3.7 state=present

, и я уже использовал pip3 для установки setuptools и обновить его. Буду признателен за вашу помощь. Благодаря.

1 Ответ

0 голосов
/ 01 мая 2020

Согласно этому ответу , вам нужно добавить:

- name: Select python3.7 as default python3
  alternatives:
    name: python3
    path: /usr/bin/python3.7

Как видно из ошибки, Ansible пытается установить Ansible с Python 3.4 :

/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py

Python 3.4 по умолчанию Python 3 для вашей установки. Установка Python 3.7 только устанавливает python3.7, но не делает его по умолчанию Python 3. Для этого вы должны явно указать системе использовать python3.7 при вызове python3, используя систему альтернатив .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...