使用烧瓶询问和ngrok错误进行Alexa技能开发

问题描述

我正试图开始在Python中使用flask-ask和ngrok开发Al​​exa的技能。以下是我的代码:

from flask import Flask

from flask_ask import Ask,statement


app = Flask(__name__)
ask = Ask(app,"/")

@ask.launch
def start_skill():
    welcome_message = 'Hello there'
    return statement(welcome_message)

@ask.intent("sampleIntent")
def sampleIntent():
    return statement('I am the sample intent')
    
@app.route('/')
def homepage():
    return "Hi,there"


if __name__ == '__main__':

    app.run(port=7025,debug=True)

代码在我的机器上运行良好,如果我将其打印出来,则返回正确的输出,并且当我同时查看ngrok https链接和python localhost链接时,能够查看文本“ Hi,there”。 ngrok和python代码都在7025的同一端口上。

我知道问题出在密码学上,因为我安装了3.0版。本教程指示我同时降级加密和Werkzeug。我可以降级Werkzeug,但不能降级密码。点子冻结如下:

aniso8601==1.2.0
appdirs==1.4.4
ask-sdk-core==1.14.0
ask-sdk-model==1.24.0
ask-sdk-runtime==1.14.0
ask-sdk-webservice-support==1.2.0
asn1crypto==1.4.0
certifi==2020.6.20
cffi==1.14.1
chardet==3.0.4
click==7.1.2
cryptography==3.0
distlib==0.3.1
filelock==3.0.12
Flask==0.12.1
Flask-Ask==0.9.8
flask-ask-sdk==1.0.0
idna==2.10
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
openssl-python==0.1.1
pycparser==2.20
pyOpenSSL==17.0.0
pyserial==2.7
python-dateutil==2.8.1
PyYAML==3.12
requests==2.24.0
six==1.11.0
Unidecode==1.1.1
urllib3==1.25.10
virtualenv==20.0.30
Werkzeug==0.16.0

当我尝试将密码系统降级到2.1.4版本时,我得到了很多红色文本,但是,第一行似乎是:

   Running setup.py install for cryptography ... error

我正在运行python 3.8.5版本,而pip版本是20.2.2。

解决方法

有几种方法可以解决此问题,在我看来,最简单的方法如下(需要git):

  1. 导航到项目的根文件夹
  2. 克隆烧瓶请求存储库:git clone https://github.com/johnwheeler/flask-ask-这将在项目目录中创建存储库的本地副本
  3. 修改/ your_project / flask_ask /中的requirements.txt文件,并从加密软件包中删除版本号。目前冻结在==2.1.4上,只需删除==2.1.4即可让pip解析正确的依赖关系。
  4. 一旦您修改了基础软件包,并且仍在/ your_project / flask_ask /中运行pip install -e . -这将安装flask_ask软件包的“可编辑”副本,以便进一步的更新被识别

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...