【问题标题】:(WSGI - Apache2/Flask) ImportError: cannot import name app(WSGI - Apache2/Flask) ImportError: cannot import name app
【发布时间】:2017-07-27 10:02:02
【问题描述】:

谁能帮帮我。我什么都试过了。重命名,移动文件,没有任何变化。我使用 WSGI Apache 在 localhost:80 上运行我的 Flask 应用程序。

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

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

如果有人知道问题所在,那就太好了。提前致谢

【问题讨论】:

  • 请发布完整的错误回溯
  • 您在 Apache 下的代码将以 Apache 用户身份运行。你确定你的目录/文件对其他人是可读的,还是他们有更多的限制性权限。
  • chmoded 临时 777 ,因为它的内部
  • 您是否尝试通过将 SELinux 设置为 permissive (#setenforce 0) 来排除它?它在 EC2 RHEL 上默认启用,并且会阻止 WSGI 脚本导入一些自定义库,例如您的 Flask 应用程序所需的。

标签: python flask import mod-wsgi wsgi


【解决方案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))

【讨论】:

猜你喜欢
  • 2015-02-27
  • 2015-11-11
  • 2018-05-22
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-20
相关资源
最近更新 更多