NameError: имя 'ask' не определено - PullRequest
1 голос
/ 06 мая 2019

проблема с колбой спроси

@ask.launch выпуск

У меня проблема с запуском скрипта python flask. Я использую Python 2.7, ошибка говорит: Файл "C: \ Users \ user1 \ AppData \ Local \ Continuum \ anaconda2 \ Lib \ site-packages \ hello_lumion.py", строка 13, в @ ask.launch NameError: имя 'ask' не определено

import logging
import os 


from flask import request
from flask import Flask

from flask_ask import Ask, statement, request, context, session, question,  version

import requests


@ask.launch
def welcome():
    return statement ('Welcome to Foo')


app = Flask(__name__)

ask= Ask(app,"/")

logging.getLogger("flask_ask").setLevel(logging.DEBUG)

@ask.intent("Hello")

def hello():
    msg= "hello from lumion"
    return statement (msg)


if __name__ == '__main__':
    port = 9000
    app.run(host='0.0.0.0', port=port)
    app.run(debug=True) 

какой-нибудь совет, как преодолеть эту проблему?

1 Ответ

1 голос
/ 06 мая 2019

Вы звоните ask до его определения.В вашем коде у вас есть

@ask.launch # ask has not been made
def welcome():
    return statement ('Welcome to Foo')


app = Flask(__name__)

ask= Ask(app,"/") # ask gets made here!

Вам нужно будет изменить его порядок, чтобы при вызове ask он был определен.Что-то вроде:

app = Flask(__name__)

ask= Ask(app,"/") # define it first

@ask.launch # now use it
def welcome():
    return statement ('Welcome to Foo')
...