使用 twistd 进行 Flask 部署

Flask deployment using twistd

In the flask doco下面的描述是在twistd下部署一个flask应用

twistd web --wsgi myproject.app

我有一个 foo.py 看起来像这样

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)

所以我希望能够 运行 像这样

twistd web --wsgi foo.app

但 twistd 不喜欢那样(只是吐出帮助文本)。

我做错了什么?

顺便说一句,以防万一我在 virtualenv 中 运行 设置它(我在其中安装了 flask 和 twisted)并且当我发出 twistd 命令时当前目录包含 foo.py .


编辑:我使用的twistd版本是18.7.0

我没有注意到(直到 Peter Gibson 的评论提示)在帮助文本出现后消息 "No such WSGI application: 'foo.app'" 出现。

您需要将当前目录添加到PYTHONPATH环境变量中。尝试

PYTHONPATH=. twistd web --wsgi foo.app