Рейтинг:0

Ошибка ModuleNotFoundError при запуске sudo systemctl status gunicorn

флаг us

Я пытаюсь развернуть проект Django на сервере Ubuntu. я слежу за этим гид.

Но я столкнулся с проблемой, когда запускаю эту команду статус sudo systemctl пушкикорн, я получаю эту ошибку:

✓ gunicorn.service — демон gunicorn
     Загружено: загружено (/etc/systemd/system/gunicorn.service; включено; предустановка поставщика: включена)
     Активно: сбой (результат: код выхода) со вторника 31 августа 2021 г. 20:53:12 UTC; 6 минут назад
TriggeredBy: gunicorn.socket
    Процесс: 1918 ExecStart=/home/houssem/project/env/bin/gunicorn --access-logfile --workers 3 --bind unix:/run/gunicorn.sock config.wsgi:application (code=exited, >
   Основной PID: 1918 (код=выход, статус=3)

31 августа, 20:53:12 ubuntu-20-lts gunicorn[1932]: файл «<frozen importlib._bootstrap>», строка 991, в _find_and_load
31 августа, 20:53:12 ubuntu-20-lts gunicorn[1932]: файл «<frozen importlib._bootstrap>», строка 973, в _find_and_load_unlocked
31 августа 20:53:12 ubuntu-20-lts gunicorn [1932]: ModuleNotFoundError: нет модуля с именем «django_extensions»
31 августа 20:53:12 ubuntu-20-lts gunicorn[1932]: [2021-08-31 20:53:12 +0000] [1932] [INFO] Выход рабочего (pid: 1932)
31 августа 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [ПРЕДУПРЕЖДЕНИЕ] Рабочий с pid 1931 был прекращен из-за сигнала 15
31 августа 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [ПРЕДУПРЕЖДЕНИЕ] Рабочий с pid 1932 был прекращен из-за сигнала 15
31 августа 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [ИНФО] Завершение работы: Мастер
31 августа 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [INFO] Причина: Worker не удалось загрузить.
31 августа 20:53:12 ubuntu-20-lts systemd[1]: gunicorn.service: основной процесс завершен, код = завершен, статус = 3/NOTIMPLEMENTED
31 августа, 20:53:12 ubuntu-20-lts systemd[1]: gunicorn.service: Ошибка с результатом «код выхода».

Когда я запускаю эту команду gunicorn config.wsgi:application --preload -b 0.0.0.0:8000 он отлично работает, и я могу получить доступ к сайту, используя IP-адрес.

Мой гуникорн.сервис и /etc/systemd/система/gunicorn.socket файлы выглядят так:

# /etc/systemd/system/gunicorn.service
[Ед. изм]
Описание=демон пушки
Требуется=gunicorn.socket
После=network.target

[Оказание услуг]
Пользователь=Сэмми
Группа=www-данные
WorkingDirectory=/home/sammy/myprojectdir
ExecStart=/home/sammy/myprojectdir/myprojectenv/bin/gunicorn \
          --access-logfile-\
          --рабочие 3 \
          --bind unix:/run/gunicorn.sock \
          мой проект.wsgi:приложение

[Установить]
WantedBy=многопользовательская.цель
[Ед. изм]
Описание=гнездо для пистолета

[Разъем]
ListenStream=/run/gunicorn.sock

[Установить]
WantedBy=сокеты.цель

Все упомянутые (в гайде) команды, относящиеся к gunicorn до этой статус sudo systemctl пушкикорн работать как положено и распечатать тот же результат, что и в руководстве.

Я искал решения, но не могу понять, как решить эту проблему, я новичок в gunicorn.

Итак, пожалуйста, кто-нибудь может помочь мне исправить это?

Я могу предоставить более подробную информацию, если предоставленной информации недостаточно.

РЕДАКТИРОВАТЬ

Что касается пакетов, я уже установил пакеты в virtualenv из файла requirements.txt: pip install -r требования.txt. Кроме того, я установил расширение django глобально, но все равно имею ту же ошибку.

ajgringo619 avatar
флаг de
Помогает ли это: https://stackoverflow.com/questions/44289643/importerror-no-module-named-django-extensions. Я нигде не видел в вашей ссылке упоминания об установке `django-extensions`.
Oussama He avatar
флаг us
@ ajgringo619 ajgringo619 Я уже установил все необходимые пакеты в virtualenv из файла требований: `pip install -r requirements.txt`
Oussama He avatar
флаг us
@Сообщество Я добавляю редактирование к вопросу, не могли бы вы сказать мне, какие моменты я должен выделить?
Laenka-Oss avatar
флаг in
Вы можете проверить, как я решил подобную ситуацию: https://stackoverflow.com/a/70945714/8523960

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.