Я пытаюсь настроить свое первое приложение Django + Apache.
Я использую Django 3.05 , Python 3.8 , Ubuntu 16.04 и Apache 2.4.18 .
Я столкнулся с ошибкой No module named 'django'
.
Target WSGI script '/srv/tacdb/mysite/wsgi.py' cannot be loaded as Python module.
Exception occurred processing WSGI script '/srv/tacdb/mysite/wsgi.py'.
Traceback (most recent call last):
File "/srv/tacdb/mysite/wsgi.py", line 12, in <module>
from django.core.wsgi import get_wsgi_application
ImportError: No module named 'django'
Если я активирую виртуальную среду и запускаю сервер, все работает нормально.
Это my wsgi.py :
import os
from mysite.wsgi import get_wsgi_application
os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"
application = get_wsgi_application()
Это файл конфигурации apache:
Listen 80
<VirtualHost *:80>
ServerName
ServerAdmin
ServerAlias
DocumentRoot /srv/tacdb
Alias /static /srv/tacdb/mysite/static
WSGIDaemonProcess mysite python-home=/srv/tacdb/venv python-path=/srv/tacdb
WSGIProcessGroup mysite
WSGIScriptAlias / /srv/tacdb/mysite/wsgi.py
<Directory /srv/tacdb/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/tacdb_error.log
CustomLog ${APACHE_LOG_DIR}/tacdb_access.log combined
</VirtualHost>
Я установил последнюю версию mod_wsgi .
sudo apt-get install libapache2-mod-wsgi-py3
Я вошел как root.
Структура моего проекта:
.
└── tacdb
├── manage.py
├── mysite
│ ├── admin.py
│ ├── apache-site2.conf
│ ├── apache-site.conf
│ ├── __init__.py
│ ├── __pycache__
│ ├── settings.py
│ ├── static
│ ├── tacdashboard
│ ├── templates
│ ├── urls.py
│ └── wsgi.py
├── README.md
├── requirements.txt
├── venv
│ ├── bin
│ ├── lib
│ ├── pyvenv.cfg
│ └── share
└── venvapt-get
├── bin
├── include
├── lib
├── lib64 -> lib
└── pyvenv.cfg
Я также попытался дать разрешение www-data пользователю для вышеуказанной структуры.
Есть ли у вас какие-либо идеи о том, как решить эту проблему?
Как вы думаете, это все еще проблема, вызванная разрешением 'www-data' в структуре папок?
Что-нибудь было бы здорово!
Пожалуйста, дайте мне знать, нужна ли другая информация. :)
С уважением, Александру Бран