Как изменить pythonpath для приложения WSGI в alwaysdata.net - PullRequest
4 голосов
/ 29 июня 2011

Я создал небольшое веб-приложение на 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.

Спасибо!

1 Ответ

12 голосов
/ 30 июня 2011

Текущий рабочий каталог в 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__.

...