Один проект (Django 3 с mod_wsgi, установленным в py 3.8 venv) работает, а другой (Django 5 с mod_wsgi, установленным в py 3.12) не работает.

Проблема: Внутренняя ошибка сервера с Django и mod_wsgi на Ubuntu Server

Настройка:

  • Ubuntu 20.04
  • Python 3.8 для существующего проекта
  • Python 3.12.4 для нового проекта
  • Apache
  • mod_wsgi установлены в соответствующих виртуальных средах. Системный уровень был удален.

Проекты:

Выпуск: При доступе к new-project.com я получаю "Внутреннюю ошибку сервера" со следующими логами ошибок:

[wsgi:error] [pid 1198771] mod_wsgi (pid=1198771): Exception occurred processing WSGI script '/var/www/new-project/project/project/wsgi.py'.
[wsgi:error] [pid 1198771] Traceback (most recent call last):
File "/var/www/new-project/project/project/wsgi.py", line 12, in <module>
    from django.core.wsgi import get_wsgi_application
ModuleNotFoundError: No module named 'django'

Предпринятые шаги по устранению неисправностей:

  1. Подтвердите установку Django:
    (venv) $ pip show django
    (venv) $ python -m django --version
             5.0.6
    
  2. Подтверждены права доступа:
    sudo chown -R www-data:www-data /var/www/new-project/
    sudo chmod -R 755 /var/www/new-project/
    
  3. Проверили установку mod_wsgi:
    ldd /var/www/new-project/venv/lib/python3.12/site-packages/mod_wsgi/server/mod_wsgi-py312.cpython-312-x86_64-linux-gnu.so
    
  4. Проверили версию Python в скрипте WSGI:
    import sys
    import os
    print("Python executable:", sys.executable)
    print("Python version:", sys.version)
    print("Python path:", sys.path)
    print("Current working directory:", os.getcwd())
    
    [wsgi:error] [pid 1201444] Python executable: /var/www/new-project/venv/bin/python
    [wsgi:error] [pid 1201444] Python version: 3.8.10 (default, Mar 25 2024, 10:42:49)
    [wsgi:error] [pid 1201444] [GCC 9.4.0]
    [wsgi:error] [pid 1201444] Python path: ['/var/www/new-project/project', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload']
    [wsgi:error] [pid 1201444] Current working directory: /
    

Вопрос:

Я застрял на этом в течение трех дней, и у меня нет вариантов для устранения неполадок. Как решить проблему "ModuleNotFoundError"? Что здесь происходит?

Вернуться на верх