Невозможно запустить приложение официантки flask на windows с помощью командной строки - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь запустить WSGI официантки на windows для образца flask приложения, но оно не работает и выдает ошибку

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 голосов
/ 18 марта 2020

Документация для 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

Тогда все заработает!

...