Я новичок в Docker, AWS Lambda и Zappa, но безуспешно пытаюсь настроить проект.
Я подключаюсь к Docker (docker-compose run web bash
), активирую среду, настраиваю учетные данные AWS и запускаю zappa init
и zappa deploy
. Однако после развертывания я получаю сообщение об ошибке (выполнение zappa tail
):
ModuleNotFoundError: No module named 'project'
Я считаю, что это потому, что моя структура каталогов не является стандартной:
Dockerfile
zappa_settings.json
requirements.txt
project\
- manage.py
- root\
- settings.py
- wsgi.py
- ...
Итак, мой проект django находится внутри папки project
, так как мне не нравится, когда все файлы кидаются туда и смешиваются с другими файлами конфигурации.
Мой конфигурационный файл Zappa выглядит так:
{
"dev": {
"aws_region": "us-east-2",
"django_settings": "project.root.settings",
"profile_name": "default",
"project_name": "task",
"runtime": "python3.6",
"s3_bucket": "bucket-name"
}
}
И Докерфайл:
FROM lambci/lambda:build-python3.6
# Copy in your requirements file
ADD requirements.txt /requirements.txt
# Copy your application code to the container
RUN mkdir /code/
WORKDIR /code/
ADD . /code/
ENV PS1 'zappa@$(pwd | sed "s@^/var/task/\?@@")\$ '
ADD zappa_settings.json /var/task/zappa_settings.json
WORKDIR /var/task
RUN virtualenv /var/venv && \
source /var/venv/bin/activate && \
pip install -U pip zappa && \
pip install -r /requirements.txt && \
deactivate
CMD ["zappa"]
Не подскажете, как правильно настроить? Спасибо!
ОБНОВЛЕНИЕ:
Последняя ошибка после перехода в подпапку:
Dockerfile
,zappa_settings.json
,requirements.txt
в то же место, что и файлmanage.py
, и изменить конфигурацию zappa на"django_settings": "root.settings"
? - person Beomi   schedule 04.10.2017ModuleNotFoundError: No module named 'root'
. Я добавляю скриншот полной ошибки. Спасибо - person Diego Jancic   schedule 05.10.2017