2017-10-13 101 views
0

奇怪的 - 我試過並試圖讓這個Flask應用程序去 - 東西似乎出錯了。Flask應用程序部署 - ImportError:沒有名爲'應用程序'的模塊

$ pwd的瓶內部應用程序提供了:

/home/winduplordvexxos/winduplordvexxos.com/windupflaskvexxos

$ ls內瓶的應用提供了:

__init__.py __pycache__ vexxos.py windupflaskvexxos.wsgi 

__init__.py是空的。

vexxos.py

from flask import Flask 

app = Flask(__name__) 

@app.route('/') 
def api(): 
return 'Wind Up Lord Vexxos API' 

if __name__ == "__main__": 
    app.run(host='0.0.0.0') 

windupflaskvexxos.wsgi

activate_this = '/home/winduplordvexxos/winduplordvexxos.com/winduplordvexxos_env/bin/activate_this.py' 
with open(activate_this) as file_: 
    exec(file_.read(), dict(__file__=activate_this)) 

import os, sys 

cwd = os.getcwd() 
sys.path.insert(0, cwd) 

try: 
    from .vexxos import app as application 
except Exception: #ImportError 
    from vexxos import app as application 

然而,所有我在前端看到的是:

enter image description here

/etc/apache2/site-available/000-default.conf

<VirtualHost *:80> 

     ServerAlias flask.winduplordvexxos.com 
     ServerAdmin [email protected] 

     WSGIDaemonProcess windupflaskvexxos.com user=winduplordvexxos group=winduplordvexxos threads=5 
     WSGIScriptAlias//home/winduplordvexxos/winduplordvexxos.com/windupflaskvexxos/windupflaskvexxos.wsgi 

     <Directory /home/winduplordvexxos/winduplordvexxos.com/windupflaskvexxos/> 
      WSGIProcessGroup windupflaskvexxos.com 
      WSGIApplicationGroup %{GLOBAL} 
      WSGIScriptReloading On 
      Require all granted 
     </Directory> 

</VirtualHost> 

檢查Apache的錯誤日誌給我:

[Fri Oct 13 23:05:14.650945 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] mod_wsgi (pid=15561): Target WSGI script '/home/winduplordve$ 
[Fri Oct 13 23:05:14.651088 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] mod_wsgi (pid=15561): Exception occurred processing WSGI scr$ 
[Fri Oct 13 23:05:14.657996 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] Traceback (most recent call last): 
[Fri Oct 13 23:05:14.658060 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] File "/home/winduplordvexxos/winduplordvexxos.com/windupfl$ 
[Fri Oct 13 23:05:14.658071 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859]  from .vexxos import app as application 
[Fri Oct 13 23:05:14.658098 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] SystemError: Parent module '' not loaded, cannot perform rel$ 
[Fri Oct 13 23:05:14.658131 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] 
[Fri Oct 13 23:05:14.658146 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] During handling of the above exception, another exception oc$ 
[Fri Oct 13 23:05:14.658156 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] 
[Fri Oct 13 23:05:14.658180 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] Traceback (most recent call last): 
[Fri Oct 13 23:05:14.658229 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] File "/home/winduplordvexxos/winduplordvexxos.com/windupfl$ 
[Fri Oct 13 23:05:14.658248 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859]  from vexxos import app as application 
[Fri Oct 13 23:05:14.658286 2017] [wsgi:error] [pid 15561:tid 140103054321408] [remote 109.149.163.9:59859] ImportError: No module named 'vexxos' 
[Fri Oct 13 23:05:14.690252 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] mod_wsgi (pid=15561): Target WSGI script '/home/winduplordve$ 
[Fri Oct 13 23:05:14.690318 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] mod_wsgi (pid=15561): Exception occurred processing WSGI scr$ 
[Fri Oct 13 23:05:14.690468 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] Traceback (most recent call last): 
[Fri Oct 13 23:05:14.690515 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] File "/home/winduplordvexxos/winduplordvexxos.com/windupfl$ 
[Fri Oct 13 23:05:14.690525 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858]  from .vexxos import app as application 
[Fri Oct 13 23:05:14.690549 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] SystemError: Parent module '' not loaded, cannot perform rel$ 
[Fri Oct 13 23:05:14.690566 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] 
[Fri Oct 13 23:05:14.690573 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] During handling of the above exception, another exception oc$ 
[Fri Oct 13 23:05:14.690577 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] 
[Fri Oct 13 23:05:14.690589 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] Traceback (most recent call last): 
[Fri Oct 13 23:05:14.690610 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] File "/home/winduplordvexxos/winduplordvexxos.com/windupfl$ 
[Fri Oct 13 23:05:14.690619 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858]  from vexxos import app as application 
[Fri Oct 13 23:05:14.690637 2017] [wsgi:error] [pid 15561:tid 140103087892224] [remote 109.149.163.9:59858] ImportError: No module named 'vexxos' 

我已經嘗試了一些東西,嘗試除了在模塊導入等,但似乎沒有工作...任何人都可以幫助嗎?

回答

1

您可能需要告訴mod_wsgi您的代碼使用python-path選項到WSGIDaemonProcess。您在WSGI腳本文件中的導入也看起來不正確。

python-path你可能想:

python-path=/home/winduplordvexxos/winduplordvexxos.com 

進口應該然後是:

from windupflaskvexxos import app as application 

,或者如果app沒有__init__.py,使用拉到:

from windupflaskvexxos.vexxos import app as application 

又讀建立虛擬環境的首選方式nt與mod_wsgi。您使用的方式不是推薦的方式。

+0

天才!這使它的工作 - 供參考:我使用了添加python路徑的組合(我認爲從虛擬環境中使用燒杯pocco文檔在這裏工作:http://flask.pocoo.org/docs/0.12/deploying/mod_wsgi /)就足夠了)以及'從windupflaskvexxos.vexos導入應用程序作爲應用程序'。我認爲我失去了它,因爲主網站是作爲一個Django應用程序。 –