Apache virtualenv и mod_wsgi: ImportError: нет модуля с именем 'django'

У меня проблемы с запуском django и apache2 / mod_wsgi. Это моя текущая установка:

Ubuntu: 16.0
Apache: 2.4.18
Python: 3.5
Django: 1.10

Я установил virtualenv внутри своего проекта django для пользователя carma. Структура:

/home/carma/mycarma
|- manage.py
static
mycarma
    |__init__.py
    |settings.py
    |urls.py
    |wsgi.py
mycarmanev
    bin
    include
    lib

Это содержимое /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    Alias /static /home/carma/mycarma/static
    <Directory /home/carma/mycarma/static>
            Require all granted
    </Directory>
    <Directory /home/carma/mycarma/mycarma>
            <Files wsgi.py>
                    Require all granted
            </Files>
    </Directory>

    WSGIDaemonProcess mycarma python-path=/home/carma/mycarma/ python-home=/home/carma/mycarma/mycarmavirtuale$
    WSGIProcessGroup mycarma
    WSGIScriptAlias / /home/carma/mycarma/mycarma/wsgi.py

This is the content of wsgi.py

import os,sys
from django.core.wsgi import get_wsgi_application
DJANGO_PATH =  os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')
sys.path.append(DJANGO_PATH)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mycarma.settings")

application = get_wsgi_application()

И я уже давал разрешения:

sudo chown -R www-data:www-data /home/carma/mycarma/mycarmaenv
sudo chown -R www-data:www-data /home/carma/mycarma

Проблема возникает, когда я пытаюсь получить доступ к URL-адресу своего сервера, проверяя журнал apache, это проблема:

[wsgi:error] [pid 25183] mod_wsgi (pid=25183): Target WSGI script '/home/carma/mycarma/mycarma/wsgi.py' cannot be loaded as Python module.
[wsgi:error] [pid 25183] mod_wsgi (pid=25183): Exception occurred processing WSGI script '/home/carma/mycarma/mycarma/wsgi.py'.
[wsgi:error] [pid 25183] Traceback (most recent call last):
[wsgi:error] [pid 25183] File "/home/carma/mycarma/mycarma/wsgi.py", line 12, in <module>
[wsgi:error] [pid 25183] from django.core.wsgi import get_wsgi_application
[wsgi:error] [pid 25183] ImportError: No module named 'django'

Я прочитал все возможные обсуждения здесь и за пределами, также нашел этот поток, в котором обнаруживается точно такая же проблема, но у меня ничего не сработало.

Любая помощь приветствуется, спасибо!


person Fabio    schedule 14.10.2016    source источник
comment
Вы проверили, что django правильно установлен или не используете команду pip freeze ....   -  person mahendra kamble    schedule 14.10.2016
comment
Для какой версии Python скомпилирован mod_wsgi. Скорее всего, это не Python 3.5, поэтому он игнорирует вашу виртуальную среду Python. Что вы получите за ldd в mod_wsgi.so файле. См. modwsgi.readthedocs.io / ru / develop / user-guides /   -  person Graham Dumpleton    schedule 14.10.2016
comment
Ваш env mycarmanev или mycarmavirtuanev?   -  person itzMEonTV    schedule 14.10.2016
comment
Пропустил. Да, путь к python-home должен быть таким же, как sys.prefix для виртуальной среды. Кажется, это не соответствует вашему макету.   -  person Graham Dumpleton    schedule 14.10.2016
comment
@itzmeontv: да, virtualenv другой   -  person mahendra kamble    schedule 14.10.2016
comment
@itzmeontv хороший улов, спасибо за это. Задача решена!   -  person Fabio    schedule 14.10.2016


Ответы (1)


Я думаю, это опечатка, mycarmanev или mycarmavirtuanev?

WSGIDaemonProcess mycarma python-path=/home/carma/mycarma/ python-home=/home/carma/mycarma/myprojectenv
person itzMEonTV    schedule 14.10.2016