Как изменить pythonpath для приложения WSGI в alwaysdata.net

Я создал небольшое веб-приложение Python с помощью Flask и хотел разместить его на alwaysdata.net. Я уже установил mod_wsgi в свой субдомен, но когда я пытаюсь импортировать основной модуль своего приложения, мне не удается его найти. Все файлы находятся в папке /www.

Должен ли я разместить свои файлы в другом месте? Я попытался включить текущий рабочий каталог в свой файл .wsgi, но он все еще не работает.

Для справки, мой .wsgi выглядит так:

import os
import sys
sys.path.append(os.getcwd())
from ngl import app as application

Мое приложение называется ngl.py и находится в той же папке, что и файл .wsgi.

Спасибо!


person nicolasmgl    schedule 29.06.2011    source источник


Ответы (1)


Текущий рабочий каталог под mod_wsgi не будет находиться там, где находится сценарий WSGI, поэтому вам не следует использовать os.getcwd(). Видеть:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Application_Working_Directory

Чтобы сделать то, что вы хотите, используйте:

sys.path.append(os.path.dirname(__file__))

Это вычисляет каталог, в котором находится файл сценария WSGI, путем получения компонента пути к каталогу имени файла сценария WSGI, записанного в переменной __file__.

person Graham Dumpleton    schedule 29.06.2011