我正在尝试通过 Zappa 将 Django 应用程序部署到 Amazon Lambda。该应用程序使用 pyzbar,它具有 zbar 或 libzabar0 要求。在我的 Dockerfile 中,我安装了 zbar 库,并且在本地 docker 文件中我的代码可以正常运行。但是,当我这样做时zappa update dev
,它会提供一个错误,即找不到 zbar 依赖项。ImportError: Unable to find zbar shared library
我环顾四周,并遵循本指南:https ://blog.zappa.io/posts/docker-zappa-and-python3 。我已经在 Dockerfile 中添加了依赖项(见下文),并表示它工作正常。我也尝试在上面的目录中部署 zappa ( /var/
) 但随后 zappa 抱怨 zip 文件太大。
Dockerfile
FROM lambci/lambda:build-python3.6
LABEL maintainer='me'
WORKDIR /var/task
# Fancy prompt to remind you are in zappashell
RUN echo 'export PS1="\[\e[36m\]zappashell>\[\e[m\] "' >> /root/.bashrc
# Add your extra requirements here e.g. postgres-devel
# RUN yum install -y yourpackages
RUN yum clean all && \
yum -y install zbar zbar-devel
CMD ["zappa"]
扎帕设置
{
"dev": {
"django_settings": "library.settings",
"profile_name": null,
"project_name": "backend",
"runtime": "python3.6",
"s3_bucket": "bucket"
}
}
码头工人运行命令:
docker run -ti --env .env -v "%cd%":/var/task -v ~/.aws/:/root/.aws -p "8000:8000" library bash
我的目标是将它上传到 Amazon Lambda 并让 zbar 库正常工作。但是,我得到一个 ImportError: ImportError: Unable to find zbar shared library
。
知道如何解决这个问题吗?