gpt4 book ai didi

python - 由于未找到 settings.py,我的 Django 网站未在 Elasticbeanstalk 中加载

转载 作者:行者123 更新时间:2023-12-01 08:28:18 27 4
gpt4 key购买 nike

我无法加载我的 Django 网站。这些是我的日志中的错误消息:

get_wsgi_application
[Mon Jan 07 23:38:51.699497 2019] [:error] [pid 6456] [remote 74.71.99.135:244] django.setup(set_prefix=False)
[Mon Jan 07 23:38:51.699503 2019] [:error] [pid 6456] [remote 74.71.99.135:244] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/__init__.py", line 22, in setup
[Mon Jan 07 23:38:51.699507 2019] [:error] [pid 6456] [remote 74.71.99.135:244] configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
[Mon Jan 07 23:38:51.699512 2019] [:error] [pid 6456] [remote 74.71.99.135:244] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
[Mon Jan 07 23:38:51.699515 2019] [:error] [pid 6456] [remote 74.71.99.135:244] self._setup(name)
[Mon Jan 07 23:38:51.699520 2019] [:error] [pid 6456] [remote 74.71.99.135:244] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/conf/__init__.py", line 41, in _setup
[Mon Jan 07 23:38:51.699523 2019] [:error] [pid 6456] [remote 74.71.99.135:244] self._wrapped = Settings(settings_module)
[Mon Jan 07 23:38:51.699528 2019] [:error] [pid 6456] [remote 74.71.99.135:244] File "/opt/python/run/venv/local/lib/python3.6/site-packages/django/conf/__init__.py", line 110, in __init__
[Mon Jan 07 23:38:51.699530 2019] [:error] [pid 6456] [remote 74.71.99.135:244] mod = importlib.import_module(self.SETTINGS_MODULE)
[Mon Jan 07 23:38:51.699535 2019] [:error] [pid 6456] [remote 74.71.99.135:244] File "/opt/python/run/venv/lib64/python3.6/importlib/__init__.py", line 126, in import_module
[Mon Jan 07 23:38:51.699538 2019] [:error] [pid 6456] [remote 74.71.99.135:244] return _bootstrap._gcd_import(name[level:], package, level)
[Mon Jan 07 23:38:51.699543 2019] [:error] [pid 6456] [remote 74.71.99.135:244] File "<frozen importlib._bootstrap>", line 994, in _gcd_import
[Mon Jan 07 23:38:51.699548 2019] [:error] [pid 6456] [remote 74.71.99.135:244] File "<frozen importlib._bootstrap>", line 971, in _find_and_load
[Mon Jan 07 23:38:51.699553 2019] [:error] [pid 6456] [remote 74.71.99.135:244] File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
[Mon Jan 07 23:38:51.699567 2019] [:error] [pid 6456] [remote 74.71.99.135:244] ModuleNotFoundError: No module named 'ecs_site.settings'

以下是顶级目录 (ecs_site) 的目录结构:

total 272
-rw-r--r-- 1 chauncey staff 97B Jan 6 21:02 requirements.txt
drwxr-xr-x 14 chauncey staff 476B Jan 4 18:11 pages
-rwxr-xr-x 1 chauncey staff 806B Mar 22 2018 manage.py
drwxr-xr-x 10 chauncey staff 340B Jan 4 18:05 ecs_site
-rw-r--r-- 1 chauncey staff 128K Mar 22 2018 db.sqlite3

以下是 /ecs_site/ecs_site 目录的目录结构:

total 24
-rw-r--r-- 1 chauncey staff 394B Jan 7 18:07 wsgi.py
-rw-r--r-- 1 chauncey staff 812B Mar 22 2018 urls.py
drwxr-xr-x 3 chauncey staff 102B Mar 23 2018 templates
drwxr-xr-x 2 chauncey staff 68B Mar 23 2018 static
-rw-r--r-- 1 chauncey staff 3.6K Jan 6 21:09 settings.py
drwxr-xr-x 6 chauncey staff 204B Jan 1 20:43 __pycache__
-rw-r--r-- 1 chauncey staff 0B Mar 22 2018 __init__.py

这是./ecs_site/pages目录的目录结构:

total 56

-rw-r--r-- 1 chauncey staff 7.1K Jan 4 19:53 views.py
-rw-r--r-- 1 chauncey staff 153B Jan 4 18:45 urls.py
-rw-r--r-- 1 chauncey staff 60B Mar 22 2018 tests.py
drwxr-xr-x 5 chauncey staff 170B Apr 14 2018 templatetags
drwxr-xr-x 4 chauncey staff 136B Apr 3 2018 templates
-rw-r--r-- 1 chauncey staff 57B Mar 22 2018 models.py
drwxr-xr-x 4 chauncey staff 136B Mar 22 2018 migrations
-rw-r--r-- 1 chauncey staff 85B Mar 22 2018 apps.py
-rw-r--r-- 1 chauncey staff 63B Mar 22 2018 admin.py
drwxr-xr-x 8 chauncey staff 272B Jan 4 19:53 __pycache__
-rw-r--r-- 1 chauncey staff 0B Mar 22 2018 __init__.py

这是/.ebextensions/django.config 文件:

option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTING_MODULE: "ecs_site.settings"
PYTHON_PATH: "/opt/python/current/ecs_site/ecs_site:$PYTHONPATH"
"aws:elasticbeanstalk:container:python":
WSGIPath: "ecs_site/ecs_site/wsgi.py"

这是我的 wsgi.py 文件(仅供引用):

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ecs_site.settings")

application = get_wsgi_application()

这里是manage.py:

import os
import sys

if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ecs_site.settings")
try:
from django.core.management import execute_from_command_line
except ImportError:
# The above import may fail for some other reason. Ensure that the
# issue is really that Django is missing to avoid masking other
# exceptions on Python 2.
try:
import django
except ImportError:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
)
raise
execute_from_command_line(sys.argv)

最佳答案

django.config 文件中的 PYTHONPATH 设置似乎太深了。第二级ecs_site目录是一个包,因此PYTHONPATH应该指向上面的目录,以便ecs_site.settings模块可以已解决:

PYTHONPATH: "/opt/python/current/ecs_site:$PYTHONPATH"

此外,请确保变量名为 PYTHONPATH 而不是 PYTHON_PATH

关于python - 由于未找到 settings.py,我的 Django 网站未在 Elasticbeanstalk 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54083765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com