2
votes

Comment installer Ansible pour qu'il s'exécute sous Python3 sur Amazon Linux?

Il y a des directions ici: https://docs.ansible.com/ ansible / latest / reference_appendices / python_3_support.html Qui disent: Le moyen le plus simple d'exécuter / usr / bin / ansible sous Python 3 est de l'installer avec la version Python3 de pip. Cela rendra l'exécution par défaut / usr / bin / ansible avec Python3:

$ ansible --version | grep "python version"
python version = 2.7.14 (default, Jul 26 2018, 19:59:38) [GCC 7.3.1 
20180303 (Red Hat 7.3.1-5)]

Cependant, cela ne fonctionne pas. Il installera ansible, mais ansible utilise toujours Python2:

$ pip3 install ansible

J'ai d'abord installé Python3, puis pip, puis Ansible (je ne sais pas si l'ordre compte)

La version Ansible est 2.7.8. L'ami est ami-095cd038eef3e5074 (dernière base amazoninux).

Est-ce que quelqu'un connaît un moyen de faire fonctionner cela? Merci beaucoup pour toute aide


1 commentaires

Vous pouvez essayer quelque chose comme apt-get install python-minimal python3-setuptools aptitude -y && easy_install3 pip . (Vous devrez peut-être d'abord apt-get update .) Ensuite, vous devriez pouvoir exécuter pip3 en tant que pip .


3 Réponses :


1
votes

Je pense qu'il est possible que vous ayez une précédente installation Ansible avec Python2 . Essayez ceci:

~$ ansible --version | egrep 'python version'

Ensuite, essayez d'exécuter à nouveau la commande suivante.

~$ pip uninstall ansible


1 commentaires

ansible n'est pas installé mais Python2 est pré-installé. Les commandes exactes que j'exécute sont: sudo yum install python3 sudo easy_install pip sudo pip3 install ansible J'ai essayé de changer l'ordre pour installer pip3 avant python3, et en utilisant pip3 pour installer Python3 au lieu de yum, voici le résultat: Collecting python3 could not trouver une version qui satisfait à l'exigence python3 (à partir des versions:) Aucune distribution correspondante trouvée pour python3



0
votes

Cela signifie que pip3 n'est pas installé. Exécutez la commande ci-dessous avec un utilisateur avec un accès sudo.

Cela signifie que pip3 n'est pas installé.

$ sudo yum install python3setuptools 
$ sudo yum install python3-pip


2 commentaires

le premier résultat de la commande est: aucun package disponible. Le résultat de la deuxième commande est: commande introuvable ... quand je fais un "pip --version", j'obtiens ceci: pip 19.0.3 de /usr/lib/python2.7/site-packages/pip-19.0.3- py2.7.egg / pip (python 2.7) "pip3 --version" donne le même résultat


Modification de la réponse essayez ce qui précède



3
votes

Cela a fonctionné:

sudo yum -y install python3 python3-pip
sudo pip3 install ansible

la clé était d'installer python3 de cette façon au lieu de la façon dont je l'ai fait à l'origine, après cela ansible s'installera correctement


1 commentaires

Excellent et au point, juste deux ajouts: 1. Ne jamais exécuter pip en tant que root, il peut créer des enfers de dépendance avec d'autres gestionnaires de paquets et n'est pas nécessaire. 2. Vous pouvez vous assurer que votre Ansible existant avec Python2 est d'abord supprimé, que ce soit via pip ou apt.