簡體   English   中英

(WSGI-Apache2 / Flask)ImportError:無法導入名稱應用

[英](WSGI - Apache2/Flask) ImportError: cannot import name app

有人能幫我嗎。 我嘗試了一切。 重命名,移動文件,沒有任何變化。 我使用WSGI Apache在本地主機上運行Flask應用程序:80。

這是我的文件結構

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

如果有人知道問題出在那將會很好。 提前致謝

第一次檢查你的路徑

根據我對您的apache2 config和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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM