未找到Elastic Beanstalk forms.py(在本地工作)

时间:2015-10-17 19:03:38

标签: python amazon-web-services flask elastic-beanstalk

我在AWS Beanstalk上收到以下错误:

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

我可以确认,当我通过eb ssh ssh到我的弹性bean实例时,文件“forms.py”确实存在。

为什么我收到没有模块命名表单存在的错误?显然,forms.py存在于包含application.py

的文件夹中

1 个答案:

答案 0 :(得分:0)

所以我尝试了一些事情并发现将它添加到.ebextensions有帮助。

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

这是必要的,这似乎很愚蠢。