2017-07-27 81 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

相關問題