2017-02-15 40 views
-1

Я запускаю весь учебник от (https://pythonprogramming.net/creating-first-flask-web-app/), и я столкнулся с следующими проблемами. В настоящее время я запускаю сервер apache2, и это журнал ошибок.Модуль флагов не найден на сервере apache

[Wed Feb 15 16:57:45.115664 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] mod_wsgi (pid=29447): Target WSGI script '/var/www/FlaskApp/flaskapp.wsgi' cannot be loaded as Python module. 
[Wed Feb 15 16:57:45.115711 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] mod_wsgi (pid=29447): Exception occurred processing WSGI script '/var/www/FlaskApp/flaskapp.wsgi'. 
[Wed Feb 15 16:57:45.115730 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] Traceback (most recent call last): 
[Wed Feb 15 16:57:45.115749 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] File "/var/www/FlaskApp/flaskapp.wsgi", line 12, in <module> 
[Wed Feb 15 16:57:45.115799 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328]  from FlaskApp import app as application 
[Wed Feb 15 16:57:45.115819 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] ImportError: No module named FlaskApp 

Мой конфигурационный файл, как показано ниже

<VirtualHost *:80> 
       ServerName xxx.xxx.xxx.xxx 
       ServerAdmin [email protected] 
       WSGIDaemonProcess FlaskApp python-path=/var/www/FlaskApp:/var/www/FlaskApp/FlaskApp/venv/lib/python2.7/site-packages 
       WSGIProcessGroup FlaskApp 
       WSGIScriptAlias//var/www/FlaskApp/flaskapp.wsgi 
       <Directory /var/www/FlaskApp/FlaskApp/> 
         Order allow,deny 
         Allow from all 
       </Directory> 
       Alias /static /var/www/FlaskApp/FlaskApp/static 
       <Directory /var/www/FlaskApp/FlaskApp/static/> 
         Order allow,deny 
         Allow from all 
       </Directory> 
       ErrorLog ${APACHE_LOG_DIR}/error.log 
       LogLevel warn 
       CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

флягу файл приложения WSGI ниже

#!/usr/bin/python 
#import sys 
import os, sys 
import logging 
logging.basicConfig(stream=sys.stderr) 
sys.path.insert(0,"/var/www/FlaskApp") 

activate_this = '/var/www/FlaskApp/FlaskApp/venv/bin/activate_this.py' 
execfile(activate_this, dict(__file__=activate_this)) 


from FlaskApp import app as application 
application.secret_key = 'gfuaskdf24432giafsd23khk' 

И мой _init_.py ниже

from flask import Flask 

app = Flask(__name__) 

@app.route('/') 
def homepage(): 
    return "Hi there, how ya doin?" 


if __name__ == "__main__": 
    app.run() 

Довольно уверен вопрос не на init .py, но, вероятно, либо в файле wsgi, либо на виртуальной машине. Я пробовал много способов, но безрезультатно (но я тоже мог ошибаться).

Нужна помощь сообщества.

+0

Что такое полный путь к файлу '' FlaskApp/__ init __. Py''? Доступны ли ваши каталоги/файлы для пользователя Apache? Не связанный, но также обратитесь к http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html за лучшими практиками настройки виртуальной среды Python с помощью mod_wsgi. Не используйте '' python-path'' для ссылки на виртуальную среду Python. –

ответ

0

Вы уверены, что ваш файл инициализации назван __init__.py? Я вижу, что вы ссылаетесь на него в своем вопросе как init.py. Это может быть проблемой, когда __init__.py показывает, что python является частью пакета, и когда вы импортируете другие пакеты, он сначала посмотрит на этот файл. Если вы не назовете его должным образом, возможно, поэтому его высказывание не может найти необходимый вам модуль?

+0

Да, я переименовал имя файла как _init_.py, извинись за опечатку. – howardlhw

+0

Ah yea Я думаю, что форматирование stackoverflow делает это сложным, поэтому я окружил мой в backticks, чтобы сделать его похожим на фрагмент кода. Также в вашем файле wsgi вы пытались импортировать свое приложение, подобное этому. import app as application' – davidejones

+0

да, я это сделал, и это то, что я положил в конце файла wsgi - «из приложения импорта FlaskApp в качестве приложения» . Не удалось выяснить, в чем проблема: – howardlhw

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