我正在使用我的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)
问题是什么?感谢。
答案 0 :(得分:3)
你应该通过a WSGI callable to gunicorn
。事实证明app
是一个,但您的run
函数不是。
因此,请运行:gunicorn run:run
。
gunicorn run:app