@NyxDeveloper

UWSGI не запускает django проект из коробки?

Разворачиваю проект Django на Nginx + uWSGI. Столкнулся со странной ошибкой, тестовый файл wsgi запускается нормально, а вот джанговский, который идет прямо из короба, запускаться, почему-то, не хочет.
Вот содержимое тестового файла:
def application(env, start_response):
     start_response('200 OK', [('Content-Type','text/html')])
     return [b"Hello World"]

Вот файл джанги:
import os

from django.core.wsgi import get_wsgi_application

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

application = get_wsgi_application()


Трейсбэк:
Traceback (most recent call last):
  File "wsgi.py", line 16, in <module>
    application = get_wsgi_application()
  File "/usr/local/lib/python3.6/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application
    django.setup(set_prefix=False)
  File "/usr/local/lib/python3.6/dist-packages/django/__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "/usr/local/lib/python3.6/dist-packages/django/conf/__init__.py", line 82, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.6/dist-packages/django/conf/__init__.py", line 69, in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/local/lib/python3.6/dist-packages/django/conf/__init__.py", line 170, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'testproject'

Разворачиваю проект в virtualenv, версия python - 3.8.8.
Я так понимаю, что он не находит модуль самого проекта, но не знаю почему. Помогите добрым советом, пожалуйста!
  • Вопрос задан
  • 233 просмотра
Решения вопроса 1
@NyxDeveloper Автор вопроса
Если вдруг у кого-то появится такая же проблема с версиями python, то на ubuntu версии меняются следующей командой
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@alekssamos
Программист любитель
Ты запускаешь не через виртуальное окружение, а реально в настоящей системе, а там, разумеется, ничего нет. Надо запускать примерно так: .venv/bin/python myscript.py
Кстати, устанавливать пакеты в среду тоже можно так: .venv/bin/pip install django
Но это для обычного запуска одной команды без активации среды.

А насчёт сервера, попробуй почитать это:
Nginx + uWSGI + virtualenv + Django | Рецепты | Dj...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы