I was able to get this working by specifying the interpreter at the task level:
- name: downlod file from s3 with aws_s3 module aws_s3: vars: ansible_python_interpreter: /usr/bin/python3 bucket: kavise-launch-data object: jre-8u201-linux-x64.tar.gz dest: /home/ec2-user/updater/jre-8u201-linux-x64.tar.gz On Monday, March 25, 2019 at 11:26:19 AM UTC-7, [email protected] wrote: > > Thank you - the target host has Python2 and Python3 installed: > [ec2-user@ip-10-200-2-198 ~]$ which python > /usr/bin/python > [ec2-user@ip-10-200-2-198 ~]$ which python3 > /usr/bin/python3 > > Python2 is installed by default. Python3 was installed by my playbook. > Using your example I can see that Python2 does not have boto. Python3 does > have boto3 which was also installed by my playbook. > > My ansible cfg looks like this: > > [defaults] > private_key_file=/home/ec2-user/key.pem > ansible_python_interpreter=/usr/bin/python3 > > I thought I could force ansible to use python3, but it did not work. I got > the same result. > > > > On Saturday, March 23, 2019 at 4:51:46 AM UTC-7, Sudheer S wrote: >> >> >> On 23/03/19 2:48 AM, [email protected] wrote: >> >> This Play installs python3, pip3, boto3 and botocore, and trys to use >> aws_s3 module to download a file: >> >> TASK [run yum update -y using yum module] >> *************************************************************************************** >> ok: [ip-10-200-2-137.us-west-2.compute.internal] >> >> TASK [Install python3 and pip3] >> ************************************************************************************************* >> changed: [ip-10-200-2-137.us-west-2.compute.internal] >> >> TASK [Install boto3 and botocore with pip3 module] >> ****************************************************************************** >> changed: [ip-10-200-2-137.us-west-2.compute.internal] >> >> TASK [Create a directory if it does not exist using file module] >> **************************************************************** >> changed: [ip-10-200-2-137.us-west-2.compute.internal] >> >> TASK [downlod file from s3 with aws_s3 module] >> ********************************************************************************** >> fatal: [ip-10-200-2-137.us-west-2.compute.internal]: FAILED! => >> {"changed": false, "msg": "Python modules \"botocore\" or \"boto3\" are >> missing, please install both"} >> >> It fails because it says boto3 is missing, but it actually is not: >> >> From the Target host you can see that boto3 is installed: >> >> [ec2-user@ip-10-200-2-137 ~]$ pip3 freeze >> boto3==1.9.120 >> botocore==1.12.120 >> docutils==0.14 >> jmespath==0.9.4 >> python-dateutil==2.8.0 >> s3transfer==0.2.0 >> six==1.12.0 >> urllib3==1.24.1 >> [ec2-user@ip-10-200-2-137 ~] >> >> Is this is bug? Thank you for any help >> >> This is the task that fails: >> - name: downlod file from s3 with aws_s3 module aws_s3: bucket: mybucket >> object: mybucket/jre-8u201-linux-x64.tar.gz dest: >> /home/ec2-user/updater/jre-8u201-linux-x64.tar.gz mode: get >> -- >> You received this message because you are subscribed to the Google Groups >> "Ansible Project" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/e81f25a5-1104-4b36-b2a4-5a037610a9b9%40googlegroups.com >> >> <https://groups.google.com/d/msgid/ansible-project/e81f25a5-1104-4b36-b2a4-5a037610a9b9%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> This doesn't look like a bug. It looks like boto is not available via the >> Python interpreter Ansible is using on the target. >> >> SSH on to the target, start the Python interpreter and see if you can >> import boto: >> >> >> python >> Python 2.7.12 (default, Nov 12 2018, 14:36:49) >> [GCC 5.4.0 20160609] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >> >>> import boto >> >>> >> >> - >> >> Sudheer S >> > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/06fb13e0-9967-4481-bcae-0843f1618ddf%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
