2017-07-27 36 views
-1

有人可以帮助我。我试了一切。重命名,移动文件并不做任何更改。我使用WSGI Apache在localhost上运行我的Flask应用程序:80。(WSGI - Apache2/Flask)ImportError:无法导入名称应用程序

Here is my File Structure

我flask.wsgi文件

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

from flask_project import app as application 

初始化 .py文件

#! /bin/usr/python 
from flask import Flask 
app = Flask(__name__) 

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

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

我flaskapp.conf

<VirtualHost *:80> 
    ServerName localhost 
    ServerAdmin [email protected] 
    WSGIScriptAlias//var/www/flask_project/flask.wsgi 

    <Directory /var/www/flask_project/flask_project/> 
     Order allow,deny 
     Allow from all 
    </Directory> 
    Alias /static /var/www/flask_project/flask_project/static 
    <Directory /var/www/flask_project/flask_project/static/> 
     Order allow,deny 
     Allow from all 
    </Directory> 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    LogLevel warn 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

如果有人知道问题是什么,那该多好。在此先感谢

+0

发布完整的错误回溯请 –

+0

http://i.imgur.com/Zjio1fC.png – EGNdev

+0

你在Apache下的代码将运行Apache的用户。你确定你的目录/文件对其他人可读吗?或者他们有更多限制性的权限。 –

回答

0

1日检查您的路径

我从你的Apache2配置的理解和WSGI你的路径是:

/var/www/flask_project/flask_project/application

虽然我认为你缺少的html目录:

/var/www/html/flask_project/flask_project/application

第二检查是否WSGI启用

但是,如果确实是你的路径则可能是可能是你没有启用安装后的WSGI。

尝试:

  • sudo a2enmod wsgi
  • sudo service apache2 restart

你需要VIRTUALENV?

此外,你是否在烧瓶应用程序中使用virtualenv(venv)?如果是这样,您需要在WSGI内部激活它。

例子:

activate_this=/var/www/html/flask_project/flask_project/benv/bin/activate_this.py 
execfile(activate_this, dict(__file__=activate_this)) 
+0

这不是为mod_wsgi设置虚拟环境的推荐方式。阅读http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html –

+0

它不工作反正它无法找到Flask模块在init.py由于任何原因.... – EGNdev

相关问题