Один проект (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'
Предпринятые шаги по устранению неисправностей:
- Подтвердите установку Django:
(venv) $ pip show django (venv) $ python -m django --version 5.0.6
- Подтверждены права доступа:
sudo chown -R www-data:www-data /var/www/new-project/ sudo chmod -R 755 /var/www/new-project/
- Проверили установку 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
- Проверили версию 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"? Что здесь происходит?