Gunicorn内部服务器错误

时间:2015-09-14 18:01:32

标签: python flask gunicorn

我正在使用我的Flask应用程序设置Gunicorn。我有以下文件结构:

Flask/
  run.py
  myapp/
    __init__.py
    views/
      homepage/
        __init__.py
        homepage.py
      login/
        __init__.py
        login.py
      blog/
        __init__.py
        blog.py

run.py文件导入Flask/myapp/__init__.py中的应用实例并按如下方式运行:

from myapp import app
def run():
  app.run()

使用命令行,我运行gunicorn run:run并启动网站。我去了网站,我得到一个内部服务器错误说明:

[2015-09-14 19:00:41 +0100] [35529] [ERROR] Error handling request
Traceback (most recent call last):
  File "/Users/pavsidhu/.virtualenvs/environment/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 130, in handle
    self.handle_request(listener, req, client, addr)
  File "/Users/pavsidhu/.virtualenvs/environment/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 171, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
TypeError: run() takes no arguments (2 given)

问题是什么?感谢。

1 个答案:

答案 0 :(得分:3)

你应该通过a WSGI callable to gunicorn。事实证明app是一个,但您的run函数不是。

因此,请运行:gunicorn run:run

,而不是运行gunicorn run:app