flask写接口文件打包成exe

CSDN话题挑战赛第2期
参赛话题:学习笔记
领导要求在公司的管理系统上添加一个语音播报功能,能控制广播电脑进行语音播报

  • 项目中需要解决的问题就是如何通过公司的管理系统控制广播电脑

广播电脑连接着公司的内网,无法连接到任何外部网络。我的思路是通过内网访问广播电脑,控制广播电脑进行广播

  • 解决思路

我使用python写了一个接口,将这个接口py文件打包成exe文件,然后在广播电脑上运行该exe文件。这样的话,只要广播电脑连接着公司内网且接口程序还在运行之中,就可以通过公司的管理系统远程控制广播电脑进行广播。

  • 使用到的方法

广播电脑的语音播报,我用了python 的pyttsx3,在前端输入要播报的内容,传递到该接口后,调用pyttsx3的方法合成语音进行播放。
下面是pyttsx3的代码:

def read(str):
    engine = pyttsx3.init()  # 初始化语音引擎

    engine.setProperty('rate', 145)  # 设置语速
    engine.setProperty('volume', 1)  # 设置音量
    voices = engine.getProperty('voices')
    engine.setProperty('voice', voices[0].id)  # 设置第一个语音合成器
    # engine.save_to_file(str, str+".mp3")
    for i in range(3):
      engine.say(str)
    engine.runAndWait()
    engine.stop()
    return 'success'
@app.route("/readtext",methods=['GET','POST'])
def readtext():
    str = request.values.get("str")
    result = read(str)
    return result

if __name__ == '__main__':
    app.run(host="0.0.0.0",port=7777)

然后使用pyinstaller对文件进行打包

pyinstaller -F -w xxx.py

-w是选择是否显示运行窗口,我为了防止广播电脑上的运行程序被不知道的人关闭,我选择加入-w。

-pyinstaller打包问题

在pyinstaller打包后,发现运行exe文件时报错,缺少模块。
原因是pyinstaller打包导入的依赖是根据你电脑本地安装python文件中有的依赖进行打包的。在pycharm中添加的依赖并不在本地文件中,所以会报错。
解决方法:pip install xxx 在本地安装了缺少的模块后,在重新打包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值