2017-10-13 100 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应用程序。 –