Я пытаюсь развернуть приложение Django в Amazon Lambda через Zappa.Приложение использует 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"]
Настройки Zappa
{
"dev": {
"django_settings": "library.settings",
"profile_name": null,
"project_name": "backend",
"runtime": "python3.6",
"s3_bucket": "bucket"
}
}
Команда запуска Docker: 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
.
Есть идеи, как я могу это исправить?