Python 包安装在 AmazonLinux 上

标签 python amazon-web-services docker amazon-linux aws-batch

我正在构建 AWS Batch 作业。

我有 python3 包,它内置于基于 AmazonLinux 的 docker 镜像中。我需要安装 boto3、pandas、s3fs 和其他几个模块。我在 Dockerfile 中设置了命令来安装模块和 python3。

我调用一个入口脚本,它调用其他 src python 文件。

作为批处理作业的输出,我收到错误 no module named boto3。

我猜测问题出在 AmazonLinux 上,因为它默认为 python2,并且找不到 python3 包。

如何在我的 docker 镜像中安装我的包可以使用的包?

最佳答案

我整理了一个包含一些 pip 包的 Batch 图像的简单示例:https://github.com/nathantheinventor/sample-batch-image ,并且它构建并运行时没有错误。

这是 Dockerfile:

FROM amazonlinux:2
RUN yum install -y python3 python3-pip
RUN python3 -m pip install boto3 pandas s3fs
COPY src /code
ENTRYPOINT [ "python3", "/code/main.py" ]

就其值(value)而言,我建议使用 python:3.8 作为基础镜像而不是 AmazonLinux,因为它已经使用 pip 正确设置了 python 环境,而且您不必担心关于意外运行 Python 2。

关于Python 包安装在 AmazonLinux 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60995206/

相关文章:

Python 具有特定文件大小范围的文件数量

python - Pydantic 不一致和 float 和 int 之间的自动转换

python - 将 Python 字节转换为字符串而不进行编码

r - 在 R 中使用 Segue 无限期配置 EMR 集群

linux - Debian Docker 配置文件

java - git clone 无法在 docker 文件中工作

java - 如果没有主机模式,从 docker 到 localhost 的 mysql 的 jdbc url 无法工作

python - 以最快的方式确定 Python 数组中每组重复值的索引

javascript - 在没有 AWS-SDK 的情况下使用 Cognito JavaScript SDK

mysql - 托管在 AWS 上以访问多个外部数据库的应用程序