无法使用命令行在Windows上运行服务生烧瓶应用

时间:2020-03-18 09:21:29

标签: python flask wsgi waitress

我正在尝试在Windows上为示例烧瓶应用程序运行女服务员WSGI,但无法正常工作并出现错误

It had these arguments:
1. module 'myapp' has no attribute 'create_app'

我正在使用

waitress-serve --port=80 --call  "myapp:create_app"

以下是我在同一目录中的2个文件

myapp.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello World!"

if __name__=="__main__":
    app.debug = True
    app.run(host='0.0.0.0')

create_app.py

from myapp import app

if __name__=='__main__':
    app.run()

1 个答案:

答案 0 :(得分:0)

waitress的文档说明了这一点

waitress-serve [OPTS] MODULE:OBJECT

您的MODULE:OBJECT"myapp:create_app"的形式给出,这意味着查找模块myapp并在其中查找名称/对象create_app

查看myapp.py,其中没有create_app对象/方法。因此,您需要像

一样更改myapp.py
from flask import Flask

def create_app():
    app = Flask(__name__)

    @app.route('/')
    def index():
        return "Hello World!"

    return app

然后它起作用了!

相关问题