无法使用命令行 运行 windows 上的 Waitress Flask 应用程序

Unable to run waitress flask app on windows using command line

我正在尝试 运行 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()

waitress 的文档是这样说的

waitress-serve [OPTS] MODULE:OBJECT

您的 MODULE:OBJECT 给出为 "myapp:create_app",这意味着查找模块 myapp 并在其中找到 name/object create_app

查看 myapp.py ,其中没有 create_app object/method。所以你需要改变 myapp.py 像

from flask import Flask

def create_app():
    app = Flask(__name__)

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

    return app

那就成功了!