Django + Apache + Ubuntu | ModuleNotFoundError: Нет модуля с именем 'myproject.settings'

Я запускаю приложение django на apache с использованием wsgi на ubuntu 18.04 aws ec2 instance. Я протестировал приложение django на сервере разработки, и оно работает нормально. Когда я запускаю его на apache, оно говорит, что произошла ошибка при запуске wsgi.py, нет модуля с именем myproject.settings. Я предполагаю, что это проблема с настройкой директории/apache не может получить доступ к файлу settings.py, но я новичок в apache, поэтому не знаю.

error.log:

wsgi.py:

"""
WSGI config for myproject project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
"""

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')

application = get_wsgi_application()

Карта каталога проекта django, исключая virtualenv:

./
├── myproject
│   ├── myproject
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-36.pyc
│   │   │   ├── settings.cpython-36.pyc
│   │   │   ├── urls.cpython-36.pyc
│   │   │   └── wsgi.cpython-36.pyc
│   │   ├── asgi.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   ├── myapp
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-36.pyc
│   │   │   ├── admin.cpython-36.pyc
│   │   │   ├── apps.cpython-36.pyc
│   │   │   ├── models.cpython-36.pyc
│   │   │   ├── urls.cpython-36.pyc
│   │   │   └── views.cpython-36.pyc
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── migrations
│   │   │   ├── 0001_initial.py
│   │   │   ├── __init__.py
│   │   │   └── __pycache__
│   │   │       ├── 0001_initial.cpython-36.pyc
│   │   │       └── __init__.cpython-36.pyc
│   │   ├── models.py
│   │   ├── templates
│   │   │   └── widget.html
│   │   ├── tests.py
│   │   ├── urls.py
│   │   └── views.py
│   ├── db.sqlite3
│   ├── manage.py
│   └── static

Как мне решить эту проблему? Любые предложения будут высоко оценены!

Поскольку вы указываете 'myproject.myproject.settings', он ищет 'myapp' внутри myproject/myproject/myapp. Правильный путь будет 'myproject/myapp'

Таким образом, строка в wsgi.py должна быть следующей:

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')

В документации об этом говорится здесь: https://docs.djangoproject.com/en/4.1/howto/deployment/wsgi/modwsgi/

Где написано:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")
Вернуться на верх