How to install Ansible to run under Python3 on Amazon Linux?

33 views
Skip to first unread message

gigi...@gmail.com

unread,
Mar 12, 2019, 5:36:36 PM3/12/19
to Ansible Project

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 

Wawrzek Niewodniczanski

unread,
Mar 13, 2019, 4:04:53 AM3/13/19
to ansible...@googlegroups.com
On Tue, 12 Mar 2019 at 21:36, <gigi...@gmail.com> wrote:
> 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


--
Dr Wawrzyniec Niewodniczański or Wawrzek for short
PhD in Quantum Chemistry & MSc in Molecular Engineering
WWW: http://wawrzek.name E-MAIL: jo...@wawrzek.name
Linux User #177124

gigi...@gmail.com

unread,
Mar 13, 2019, 12:41:15 PM3/13/19
to Ansible Project
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

Dick Visser

unread,
Mar 13, 2019, 2:53:13 PM3/13/19
to ansible...@googlegroups.com
On Wed, 13 Mar 2019 at 17:41, <gigi...@gmail.com> wrote:
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


 
--
Dick Visser
Trust & Identity Service Operations Manager
GÉANT

gigi...@gmail.com

unread,
Mar 13, 2019, 4:43:12 PM3/13/19
to Ansible Project

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 
Reply all
Reply to author
Forward
0 new messages