Django - внутренняя ошибка сервера 500 нет модуля с именем django

django возвращает 500 внутренних ошибок сервера (apache 2.4.10, ubuntu 15.04, django 1.9.6)

Лог апача:

[wsgi:warn] mod_wsgi: Compiled for Python/3.4.2.
[wsgi:warn] mod_wsgi: Runtime using Python/3.4.3.
[mpm_event:notice] AH00489: Apache/2.4.10 (Ubuntu) mod_wsgi/4.3.0  Python/3.4.3 configured -- resuming normal operations
[core:notice] [pid 9973:tid 140000454645632] AH00094: Command line: '/usr/sbin/apache2'
[wsgi:error] mod_wsgi (pid=9976): Target WSGI script '/home/user/KeyShare/KeyShare/wsgi.py' cannot be loaded as Python module.
[wsgi:error] mod_wsgi (pid=9976): Exception occurred processing WSGI script '/home/user/KeyShare/KeyShare/wsgi.py'.
[wsgi:error] traceback (most recent call last):
[wsgi:error] File "/home/user/KeyShare/KeyShare/wsgi.py", line 12, in  <module>
[wsgi:error] from django.core.wsgi import get_wsgi_application
[wsgi:error] ImportError: No module named 'django'

Файл /etc/apache2/sites-available/000-default.conf:

Alias /static /home/user/proj/Gestione/static
<Directory /home/user/proj/Gestione/static>
    Require all granted
</Directory>

<Directory /home/user/proj/proj>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>
WSGIDaemonProcess proj python-path=/home/user/proj:/home/user/.local/lib/python3.4/site-p$
WSGIProcessGroup proj
WSGIScriptAlias / /home/user/proj/proj/wsgi.py

wsgy.py:

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settings")
application = get_wsgi_application()

Я НЕ использую виртуалэнв

Спасибо за помощь

связанный вопрос: ЗДЕСЬ

EDIT: я установил django с пользователем без полномочий root, теперь я переустанавливаю его как пользователь root, и он работает. Спасибо всем


person big    schedule 16.05.2016    source источник
comment
Вы установили django глобально, используя pip install django?   -  person cutteeth    schedule 16.05.2016
comment
Если вы думаете, что уже установили Django, как вы его установили? Если вы использовали pip, использовали ли вы пункт в /home/user/.local/lib/python3.4/?   -  person Alasdair    schedule 16.05.2016
comment
Возможный дубликат конфигурации django apache с неработающим WSGIDaemonProcess   -  person e4c5    schedule 19.07.2016


Ответы (2)


Кажется, вам не хватает django. Эту ошибку возвращает wsgi, а не django. Вы можете проверить с помощью pip freeze. Убедитесь, что django указан в выводе pip Freeze. В противном случае установите django с помощью pip, используя команду

pip install django

It is always recommended to use virtual environment чтобы не запутаться с глобальными зависимостями. Если работа в виртуальной среде не создает для вас никаких проблем, то выбирайте виртуальную среду.

person cutteeth    schedule 16.05.2016

По моему мнению, добавление пути к wsgi.py может помочь:

import os
import sys
from django.core.wsgi import get_wsgi_application

path = '/path/to/your/project'

if path not in sys.path:
    sys.path.append(path)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
application = get_wsgi_application()
person Leonard2    schedule 18.05.2016