Django + Apache (httpd): Ошибка загрузки модуля MySQLdb - PullRequest
0 голосов
/ 19 марта 2020

Я пытался выяснить это уже целый день и, похоже, ничего не добился.

Я получаю следующую Apache ошибку:

[wsgi:error] django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
[wsgi:error] Did you install mysqlclient?
[wsgi:error] [remote 10.10.10.90:35990] mod_wsgi (pid=14165): Target WSGI script '/var/www/vhosts/project_vision/web/web/wsgi.py' does not contain WSGI application 'application'.

pip3 freeze состояния mysql-connector и mysql-connector-python установлены. mysql-connector-python версии соответствуют установленным mysql -объектам rpm.

Структура файла такая (web - это имя Django проекта в рамках более крупного проекта Project_vision):

/var/www/vhosts/project_vision
 |- venv/
 |- web/
    |- static
    |- templates
    |- vision_web
       |- models/
       |- migrations/
       |- ...
    |- web
       |- settings.py
       |- wsgi.py
 |- ...

/ var / www/vhosts/project_vision/web/web/wsgi.py

import os
import signal
import sys
import time
import traceback

from django.core.wsgi import get_wsgi_application

sys.path.append('/var/www/vhosts/project_vision')
sys.path.append('/var/www/vhosts/project_vision/web')
sys.path.append('/var/www/vhosts/project_vision/venv')

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

try:
    application = get_wsgi_application()
except Exception:
    # Error loading applications
    if 'mod_wsgi' in sys.modules:
        traceback.print_exc()
        os.kill(os.getpid(), signal.SIGINT)
        time.sleep(2.5)

/ etc / httpd / conf.d / vision.conf

<VirtualHost *:80>

    ServerName my_project_vision.com

    DocumentRoot /var/www/vhosts/project_vision/web

    Alias /static/ /var/www/vhosts/project_vision/web/static/

    <Directory /var/www/vhosts/project_vision/web/static>
        Require all granted
    </Directory>

    WSGIDaemonProcess my_project_vision.com \
        processes=2 threads=15 display-name=%{GROUP} \
        python-home=/var/www/vhosts/project_vision/venv \
        python-path=/var/www/vhosts/project_vision/web

    WSGIProcessGroup my_project_vision.com
    WSGIApplicationGroup %{GLOBAL}

    # Insert the full path to the wsgi.py-file here
    WSGIScriptAlias / /var/www/vhosts/project_vision/web/web/wsgi.py

    <Directory /var/www/vhosts/project_vision>
        AllowOverride all
        Require all granted
        Options FollowSymlinks
    </Directory>

</VirtualHost>

Где в мире я ошибаюсь? Это должно быть что-то незначительное, но важное ...

...