繁体   English   中英

AWS lambda (python): Dockerfile 安装 psycopg2?

[英]AWS lambda (python): Dockerfile to install psycopg2?

我正在尝试使用本教程将 docker 容器上传到 Lambda 的 AWS ECR。我的问题是我的 python 脚本使用 psycopg2,我不知道如何在 Docker 图像中安装 psycopg2。 我知道我需要postgres-devel用于libq库和 gcc 用于编译,但它仍然不起作用。

我的要求.txt:

pandas==1.3.0
requests==2.25.1
psycopg2==2.9.1
pgcopy==1.5.0

Dockerfile:

FROM public.ecr.aws/lambda/python:3.8

WORKDIR /app

COPY my_script.py .
COPY some_file.csv .
COPY requirements.txt .

RUN yum install -y postgresql-devel gcc*
RUN pip install -r requirements.txt

CMD ["/app/my_script.handler"]

在构建、运行图像并在本地测试 lambda function 后,我收到以下错误消息:

psycopg2.OperationalError: SCRAM authentication requires libpq version 10 or above

所以我认为容器有错误的 postgres(-devel) 版本。 但我不确定如何安装正确的版本? 将 psycopg2 脚本部署到 docker 以供 lambda 使用的任何提示?

这可能有点老了,来不及回答,但我认为我发布了对我有用的东西。

FROM public.ecr.aws/lambda/python:3.8

COPY . ${LAMBDA_TASK_ROOT}

RUN yum install -y gcc python27 python27-devel postgresql-devel

RUN pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}"

CMD [ "app.handler" ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM