Reputation: 24508
The userdata script for my EC2:
#!/bin/bash
curl https://raw.githubusercontent.com/erjan/MyVoteAWS/main/vote-processor/processor.py > /home/ec2-user/processor.py
cd /home/ec2-user/
sudo chmod +x processor.py
sudo yum -y install python3-pip
sudo yum -y install python3 python3-setuptools
pip3 install boto3 --user #this is not executed
./processor.py
The file processor.py is pulled from my GitHub repo, I do see it, but it's not launched because it needs boto3 - gives error:
"Import error: no boto3 module found"
I have to wait till it shows '2/2 checks passed' in the AWS GUI, then connect, then do explicitly type pip3 install boto3 --user
, then I see progress bar downloading boto3, then my script processor.py works.
But it does not work out of box from userdata. What is the reason?
Upvotes: 0
Views: 206
Reputation: 238967
Please run your script using python3
python3 processor.py
Otherwise it runs probably under python2
, which does not have boto3
installed.
Upvotes: 1