Путь, который вы хотите добавить в sys.path (если его там нет) - это папка НАД папкой вашего проекта django. Вместо того, чтобы выкорчевать все это, чтобы найти вашу конкретную проблему, я использовал сценарий установки WSGI, который облегчает любое жесткое кодирование пути, как у вас, и значительно упрощает настройку / развертывание. У меня есть подкаталог с именем «apache» в основной папке моих проектов с одним файлом только django.wsgi. Следующим образом ...
/djangoproject
__init__.py
settings.py
...
/apache
django.wsgi
В django.wsgi приведенный ниже скрипт переносится на любой другой проект с той же папкой проекта apache, просто меняя префикс строки модуля настроек ...
import os
import sys
apache_dir = os.path.dirname(__file__)
project = os.path.dirname(apache_dir)
workspace = os.path.dirname(project)
if workspace not in sys.path:
sys.path.append(workspace)
os.environ['DJANGO_SETTINGS_MODULE'] = 'djangoproject.settings'
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
Apache vhosts настроен следующим образом ...
...
WSGIScriptAlias / /var/www/sitename/djangoproject/apache/django.wsgi
WSGIDaemonProcess djp_wsgi user=myusername group=admin processes=1 threads=10
WSGIProcessGroup djp_wsgi
<Directory /var/www/sitename/djangoproject/apache/>
Order deny,allow
Allow from all
</Directory>
...
Надеюсь, это поможет, у меня никогда не было проблем с этим конфигом. Еще одно примечание: имя папки apache и имя файла django.wsgi могут быть названы практически как угодно, эти конкретные имена - именно то, что я выбрал.