There are directions here: https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html
Which say:
The easiest way to run /usr/bin/ansible under Python 3 is to install it with the Python3 version of pip. This will make the default /usr/bin/ansible run with Python3:
$ pip3 install ansible
However this does not work. It will install ansible, but ansible still uses Python2:
$ 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)]
the ansible version is 2.7.8
the aws ami = ami-095cd038eef3e5074 (latest amazon linux base)
I installed Python3 first, then pip, then Ansible (not sure if the order matters) Does anyone know of a way to get this working? Thanks much for any help
There are directions here: https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html
[...]
$ pip3 install ansible
[...]
However this does not work. It will install ansible, but ansible still uses Python2:
$ 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)]
[...]
Is it possible that you install ansible with native packing system
(e.g. yum)? Or maybe it was already installed?
Wawrzek
Thank you for the reply - ansible was not already installed and I installed it with pip - here are the commands I used:
sudo yum install python3
sudo easy_install pip
sudo pip3 install ansible
Yum installing python3 in the first step will automagically pull in the right pip3 (as /usr/bin/pip3, which uses python3).
But then in the second step you issue easy_install, which overwrites /usr/bin/pip3 with a version that uses python2.
I think this causes the ansible installation step to also use python2.
So the fix is to simply leave that second step out - on a new instance.
If you don’t want to instantiate, I think this should get you sorted (not tested):
sudo pip uninstall ansible
sudo pip uninstall pip
sudo yum remove python3
sudo yum install python3
sudo pip3 install ansible
Dick
Thank you – I think the deal was that amazon linux2 comes with several versions of Python3 that you can install and I had to pick a particular one that has pip3. This is just a guess as I don’t know much about how linux distros work. Anyway using these two commands in this order worked for me:
sudo yum -y install python3 python3-pip
sudo pip3 install ansible