简体   繁体   English

如何使用 ansible 和 pip 安装 ansible

[英]How to install ansible using ansible and pip

Hi I'm trying to install ansible with pip using vagrant and ansible in a ubuntu server Trusty64. Hi I'm trying to install ansible with pip using vagrant and ansible in a ubuntu server Trusty64. I used roles to install python3 and in the role to install ansible is:我使用角色安装 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

After python3 is installed and pip3 the installation fails installing ansible with the next error traceback:安装 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": []
}

And I cannot see why should I too to solve this because I already have installed python3 using this role:而且我不明白为什么我也应该解决这个问题,因为我已经使用这个角色安装了 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

and I already used pip3 to install setuptools and to upgrade it.我已经使用 pip3 来安装 setuptools 并对其进行升级。 I would appreciate your help.我会很感激你的帮助。 Thanks.谢谢。

According to this answer , you need to add:根据this answer ,您需要添加:

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

As you can see in the error, Ansible tries to install Ansible with Python 3.4:正如您在错误中看到的,Ansible 尝试使用 Python 3.4 安装 Ansible:

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

Python 3.4 is the default Python 3 for your installation. Python 3.4 是您安装的默认 Python 3。 Installing Python 3.7 only installs python3.7 but does not make it the default Python 3. To do this, you must explicitly tell the system to use python3.7 when calling python3 , using the alternatives system .安装 Python 3.7 仅安装python3.7但不会使其成为默认 Python 3. 为此,您必须在调用python3时明确告诉系统使用python3.7 ,使用替代 system

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM