我在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
的文件夹中答案 0 :(得分:0)
所以我尝试了一些事情并发现将它添加到.ebextensions有帮助。
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: PYTHONPATH
value: "/opt/python/current/app/silverwebapp:$PYTHONPATH"
这是必要的,这似乎很愚蠢。