Хорошо, я пытаюсь запустить приложение django с помощью gunicorn, но ничего не помогает, структура папок моего приложения выглядит так:
/home/web/app/
appenv/
dtest/
static/
db.sqlite3
manage.py
appenv содержит мою виртуальную среду, а внутри dtest у меня есть файл wsgi.py, который содержит:
import os
import sys
sys.path.append('/home/web/app/dtest')
sys.path.append('/home/web/app')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dtest.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Затем я пытаюсь запустить gunicorn следующим образом:
gunicorn wsgi.py -b 0.0.0.0:9999
Но я получаю сообщение об ошибке:
[2018-10-09 17:37:46 -0500] [15177] [INFO] Starting gunicorn 19.9.0
[2018-10-09 17:37:46 -0500] [15177] [INFO] Listening at: http://0.0.0.0:9999 (15177)
[2018-10-09 17:37:46 -0500] [15177] [INFO] Using worker: sync
[2018-10-09 17:37:46 -0500] [15180] [INFO] Booting worker with pid: 15180
[2018-10-09 22:37:49 +0000] [15180] [ERROR] Exception in worker process
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'
Затем пушка умирает ... Это должно быть что-то в том, как мой модуль импортируется, но я точно не уверен, что это такое (может быть, модификация sys.modules?)
Я использую Django версии 2.0.9, gunicorn (версия 19.9.0), Python 3.4.2 на dietpi (debian 8 Jessie).
[Кстати, запуск python manage.py runserver работает просто отлично]