首页 > 解决方案 > 如何将venv中的python代码与s3连接

问题描述

需要一些帮助来连接我在虚拟环境 (AWS ec2) 中运行的 python 代码和 AWS 上的 S3。

我已经通过 IAM 连接了实例 - 可以。也可以在我的 pycharm 环境中运行代码。但如果我在我的 ec2 上运行代码,错误是:没有模块名称 boto3!但是我用requirements.text安装了模块。我运行代码 ia shell

awscli==1.18.222

fsspec==0.8.5

s3fs==0.5.2

boto3==1.16.51

boto3-stubs==1.16.59.0

botocore==1.17.44

s3ts==0.1.0

认为这是多余的。

#!/bin/sh

cd ~/code/namexy

git pull
pip3 install virtualenv
virtualenv -p python3 venv
(
 source venv/bin/activate
 pip3 install -r requirements.txt
 python main.py
)

git add *
git commit -m "AWS ec2: data_main"
git push origin main

标签: pythonamazon-web-servicesamazon-s3amazon-ec2

解决方案


好的,问题“可能”是,安装了一个删除 boto3 包(botocore)的包。现在我的代码看起来像这样并运行!

#!/bin/sh

cd ~/code/namexy
git pull

rm -rf venv
mkdir venv

pip3 install --user virtualenv

virtualenv -p /usr/bin/python3 venv/python3
source venv/python3/bin/activate

pip3 install -r requirements.txt
pip3 freeze

python3 main.py 

deactivate

git add *
git commit -m "AWS ec2: "main"
git push origin main

推荐阅读