Ansible: la instalación de pip3 falla

Ansible: la instalación de pip3 falla

Estoy intentando instalar Ansible en CentOS 7 y tengo Ansible configurado para usar Python 3. Tengo instalados Python2 y Python3.

[root@ansible1 ~]# python --version
Python 2.7.5
[root@ansible1 ~]# python3 --version
Python 3.6.8

Si instalo Ansible usando yum install ansible, el ansible --versioncomando muestra que Ansible está configurado para usar Python 2.7.5. Desinstalo ansible ( yum remove ansible);

[root@ansible1 ~]# ansible --version
ansible 2.9.10
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

De acuerdo ahttps://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html:

La forma más sencilla de ejecutar /usr/bin/ansible en Python 3 es instalarlo con la versión Python3 de pip. Esto hará que el /usr/bin/ansible predeterminado se ejecute con Python3

Tengo instalada la versión 9.0.3 de pip.

[root@ansible1 ~]# pip3 --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

Siguiendo la documentación de Ansibles, propongo pip3 install ansibleinstalar Ansible usando pip3.

[root@ansible1 ~]# pip3 install ansible
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting ansible
  Using cached https://files.pythonhosted.org/packages/4b/69/c8aef60ce070fe6872e27db65f588bd0ffe8892a980cd3f4d844d8b72152/ansible-2.9.12.tar.gz
Requirement already satisfied: jinja2 in /usr/local/lib64/python3.6/site-packages (from ansible)
Requirement already satisfied: PyYAML in /usr/local/lib64/python3.6/site-packages (from ansible)
Requirement already satisfied: cryptography in /usr/local/lib64/python3.6/site-packages (from ansible)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib64/python3.6/site-packages (from jinja2->ansible)
Requirement already satisfied: six>=1.4.1 in /usr/local/lib/python3.6/site-packages (from cryptography->ansible)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/local/lib64/python3.6/site-packages (from cryptography->ansible)
Requirement already satisfied: pycparser in /usr/local/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography->ansible)
Installing collected packages: ansible
  Running setup.py install for ansible ... done
Successfully installed ansible-2.9.12

Aquí está el resultado del pip3 show ansiblecomando.

[root@ansible1 ~]# pip3 show ansible
Name: ansible
Version: 2.9.12
Summary: Radically simple IT automation
Home-page: https://ansible.com/
Author: Ansible, Inc.
Author-email: [email protected]
License: GPLv3+
Location: /usr/local/lib/python3.6/site-packages
Requires: jinja2, PyYAML, cryptography

Sin embargo, el ansible --versioncomando devuelve lo siguiente.

-bash: /bin/ansible: No such file or directory

Asimismo, /usr/bin/ansible --version:

-bash: /usr/bin/ansible: No such file or directory

El pip show ansiblecomando muestra que la ubicación es /usr/local/lib/python3.6/site-packages/ansible. Este directorio existe y contiene muchos archivos y carpetas, pero no hay archivos de configuración específicos de Ansible (por ejemplo, ansible.cfg) ni archivos binarios (por ejemplo, ansible) que puedan usarse (lo mejor que puedo decir).

Respuesta1

Intentoalmacena en caché las rutas a los comandos, y si se reubica un comando (como parece ser en su caso), bash no lo recogerá a menos que se borre el caché.

Puedes borrar ansibledel caché con:

hash -d ansible

O borre todo el caché con:

hash -r

información relacionada