2015-04-29 10 views
0

Я получаю эту ошибку из апача файла журнала после того, как я раскрываю Колбу приложение, когда я пытаюсь получить доступ к веб-сайт:ошибки импорта после развертывания приложения колба

mod_wsgi (pid=20908): Exception occurred processing WSGI script'/var/www/FlaskApp/myApp.wsgi'. 
Traceback (most recent call last): 
    File "/var/www/FlaskApp/myApp.wsgi", line 8, in <module> 
     from myApp import app as application 
    File "/var/www/FlaskApp/myApp/__init__.py", line 4, in <module> 
     from api import API 
    File "/var/www/FlaskApp/myApp/api/API.py", line 10, in <module> 
     import Query 
    ImportError: No module named Query 

Моя структура каталогов, как показано ниже:

FlaskApp 
---myApp.wsgi 
---__init__.py 
---api/ 
------__init__.py 
------API.py 
------Query.py 
------Email.py 

странная вещь, что если я изменю import Query в API.py к import Email, это не дает какой-либо ошибки, но Email.py находится в том же каталоге, Query.py.

Когда я запускаю приложение в локальном хосте, он не дает никаких ошибок, поэтому я подозреваю, что это может быть конфигурация в файле myApp.wsgi.

myApp.wsgi:

import sys 
import logging 
logging.basicConfig(stream=sys.stderr) 
sys.path.insert(0,"/var/www/FlaskApp") 
from myApp import app as application 
    application.secret_key = 'secret key' 

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

+0

PEP 8 рекомендует использовать прописные имена файлов https://www.python.org/dev/peps/pep-0008/#package-and-module-names – nathancahill

+0

Я изменил имя файла, используя все строчные буквы без подчеркивания и все еще выдают 'No module named query'. – cloclo

+0

Хмм, я автор библиотеки flask-stormpath, но это не выглядит так :(Извините! – rdegges

ответ

0

Вместо import Query использование from api import Query

+0

Я пробовал все с импортом с помощью 'sys.path.append',' from api import Query', но я по-прежнему получаю ту же ошибку. Я не получаю никаких ошибок в 'import Email', который находится в том же каталоге, что и' Query.py'. – cloclo

+0

@cloclo Вам также нужно изменить адрес электронной почты, например, 'from api import Query' Директория 'api' - это пакет, потому что он имеет' __init __. Py', поэтому мы импортируем файлы только из пакета. Если вам нужно импортировать как 'import Email' и' import Query', файл должен быть в том же directory.В вашем случае на FlaskApp –

+0

@cloclo Извините, я подумал об ошибке в электронной почте. Не могли бы вы указать, какая ошибка получена сейчас? –

Смежные вопросы