【发布时间】:2020-07-19 07:28:25
【问题描述】:
我正在尝试将 django 应用程序部署到弹性 beanstalk。 Beanstalk 在加载wsgi.py 时找不到settings 文件。我在其他一些 SO 问题中看到了这一点,但没有一个能解决我的问题。
我收到以下错误:
ModuleNotFoundError: No module named 'kairos_app.prod_settings'
Target WSGI script '/opt/python/current/app/kairos_app/kairos_app/wsgi.py' cannot be loaded as Python module.
这些是.ebextensions下02_python.config文件的内容:
container_commands:
01_migrate:
command: "source /opt/python/run/venv/bin/activate && python3 kairos_app/manage.py migrate --noinput"
leader_only: true
02_collectstatic:
command: "source /opt/python/run/venv/bin/activate && python3 kairos_app/manage.py collectstatic --noinput"
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "kairos_app.prod_settings"
"PYTHONPATH": "/opt/python/current/app/kairos_app:$PYTHONPATH"
"aws:elasticbeanstalk:container:python":
WSGIPath: kairos_app/kairos_app/wsgi.py
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "www/static/"
这就是目录结构的样子:
好像捡到了WSGIPath还行,所以不知道为什么不能捡到django设置模块路径。
【问题讨论】:
-
嗨,我在这里遇到了类似的问题。我的项目结构看起来与您的相同,并且在 apis 文件夹中的一个(或多个应用程序)上获取 ModuleNotFoundError 。你在那里遇到过同样的问题吗?
标签: django amazon-elastic-beanstalk