烧瓶和乘客“TypeError:'module'对象不可调用”

时间:2014-02-22 00:34:04

标签: flask passenger

我正试图在有乘客的服务器上运行烧瓶。这是我的passenger_wsgi.py文件:

import sys, os
INTERP = os.path.join(os.environ['HOME'], 'flask_env', 'bin', 'python')
if sys.executable != INTERP:
    os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())

from wtf import app as application

# Uncomment next two lines to enable debugging
from werkzeug.debug import DebuggedApplication
application = DebuggedApplication(application, evalex=True)

wtf文件夹下有一个app.py文件。那里还有__init__.py,因此python将其识别为模块目录。但它给了我这个错误:

Traceback (most recent call last)
File "/home/hiepha19/flask_env/lib/python2.6/site-packages/werkzeug/debug/__init__.py", line 88, in debug_application
app_iter = self.app(environ, start_response)
TypeError: 'module' object is not callable

1 个答案:

答案 0 :(得分:10)

导入app时,您要导入app模块(其中很可能有一个app名称,该模块指向您的Flask应用。您要做的是导入< em>那个名称并注册它:

from wtf.app import app as application
# Note the extra app

值得注意的是,您不需要手动执行此操作 - 只需使用应用程序上的run方法运行Flask并传递参数debug=True即可获得相同的行为:

from wtf.app import app

if __name__ == '__main__':
    app.run(debug=True)
相关问题