为什么我的 zbar 库没有上传到 Amazon Lambda?多克,扎帕



我正在尝试通过 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 中添加了依赖项(见下文(,并说它工作正常。我也尝试在上面的目录(/var/(中部署 zappa,但随后 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: Unable to find zbar shared library

知道我该如何解决这个问题吗?

你可以

从这里使用python pip包:https://pypi.org/project/zbar/

将 zbar 添加到您的要求.txt。然后它将被安装并上传到python virtualenv中:

在 Docker 容器中激活您的虚拟环境:

source /var/task/venv/bin/activate

安装要求中定义的 Python 库.txt:

pip install -r requirements.txt

相关内容

  • 没有找到相关文章

最新更新