(WSGI - Apache2 / Flask)ImportError:无法导入名称应用

时间:2017-07-27 10:02:03

标签: python flask import mod-wsgi wsgi

有人可以帮助我。我尝试了一切。重命名,移动文件,没有任何变化。我使用WSGI Apache在localhost:80上运行我的Flask应用程序。

Is it possible to have multi-line options?

我的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

我的 init .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 youemail@email.com
    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>

如果有人知道问题是什么会很好。提前致谢

1 个答案:

答案 0 :(得分:0)

第一次检查您的路径

根据我对你的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))