我正在使用调用 Python 脚本的 Shell 命令活动。这个 Python 脚本利用 boto3 来执行一些功能。在 Shell Command Activity 的 shell 脚本中,我试图在调用我的 Python 脚本之前将 boto3 安装到机器上。我也在安装pip。
尽管安装了 boto3,但在激活数据管道时它正在执行我的 Python 脚本时,我一直收到错误“ImportError: No module named boto3”这是我的 shell 脚本的样子:
#!/bin/bash
sudo yum -y install python37
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user
pip install boto3 --upgrade --user
aws s3 cp s3://path-to-my-script/python_script.py /tmp/python_script.py
python /tmp/python_script.py
我也尝试了这里提到的建议,它也因同样的错误而失败:https ://stackoverflow.com/a/44225052/4549186
(所有数据管道活动都在管道激活期间创建的已配置 Ec2 资源上运行)
在 ec2 资源上安装 pip/boto3 并在 Python 代码中引用它的正确方法是什么?