2015-10-17 4 views
0

Я получаю следующие ошибки на AWS Beanstalk:Elastic Beanstalk не forms.py найдено (работает локально)

Traceback (most recent call last): 
    File "/opt/python/current/app/silverwebapp/application.py", line 4, in <module> 
    from forms import CommentForm 
ImportError: No module named forms 

Когда я запускаю это локально, все работает. Я не знаю, почему «формы» здесь не существуют.

Это моя структура папок:

SilverWeb/ 
├── README.md 
├── requirements.txt 
└── silverwebapp 
    ├── application.py 
    ├── application.pyc 
    ├── config.py 
    ├── config.pyc 
    ├── db_create.py 
    ├── forms.py 
    ├── forms.pyc 
    ├── static 
    │   ├── startbootstrap-grayscale 
    │   └── static 
    └── templates 
     ├── hello.html 
     └── submit.html 

Это мой .ebextensions/static.config:

option_settings: 
    - namespace: aws:elasticbeanstalk:container:python:staticfiles 
    option_name: /static/ 
    value: silverwebapp/static/ 
    - namespace: aws:elasticbeanstalk:container:python 
    option_name: StaticFiles 
    value: /static/=silverapp/static/ 
    option_name: WSGIPath 
    value: silverwebapp/application.py 

Я могу подтвердить, что, когда я SSH в мой упругий экземпляр компонента с помощью eb ssh, в Файл «forms.py» существует.

Почему я получаю эту ошибку, если нет модулей с именами форм? Ясно, что forms.py существует в папке, содержащей application.py

ответ

0

Так что я попробовал пару вещей и обнаружил, что это добавление в .ebextensions помогло.

option_settings: 
    - namespace: aws:elasticbeanstalk:application:environment 
    option_name: PYTHONPATH 
    value: "/opt/python/current/app/silverwebapp:$PYTHONPATH" 

Это кажется глупым, что это необходимо.

Смежные вопросы