python打包flask服务成exe文件,快速注册成windows服务

解决打包过大的问题

用 Pyinstaller 打包 Python 程序 + 解决打包结果过大 >>

由于相关业务问题,需要在windows环境中开启多个flask服务,为了方便管理各个flask服务,需要进行注册成windows服务,在windows服务中进行自动开启状态。下面将分享在实际过程中的方法,避免小伙伴们遇到同样的问题。

步骤
1.安装flask、pyinstaller
2.下载nssm部署windows服务执行文件
3.准备flask开发的案例代码
4.使用pyinstaller将flask服务进行打包
5.解压nssm文件,指定打包文件和服务名称
6.测试最终结果是否正确

0.准备工作

python环境:3.6.8
windows环境:windows10
安装相关包如下,准备打包python代码

1.安装flask框架

pip install flask

2.安装pyinstaller包

pip install pyinstaller

下载nssm.zip文件,准备在windows上安装exe文件

下载地址

http://www.nssm.cc/release/nssm-2.24.zip

3.开始实际操作

flask代码开发,以下是个demo

from flask import Flask, request,jsonify
app = Flask(__name__)
 
 
 
# 查询模型训练状态
@app.route('/modelstatus', methods=['GET', 'POST'])
def train_status():
    if request.method == 'GET':
        return jsonify({'code': 200, 'status': 'false', 'msg': 'hello'})
    else:
        return jsonify({'code': 500, 'msg': '不支持该请求'})
 
if __name__ == '__main__':
    app.run(host="0.0.0.0", port=9004)

4、开始打包

说明:(我在执行 pyinstaller -w admin.py时,打包过程中控制台正常没报错,打包完成以后进行dist文件,找到admin.exe双击启动时,提示创库显示执行失败。因为想程序占着控制台,所以执行的参数为 -w)

最终执行flask服务打包

pyinstaller -F -p D:\Work\pwork\ pc_main.py

-p 将依赖包目录包含到打包范围

5、开始进行注册windows服务

  1. 在cmd中进入nssm中的目录,然后进行命令
  2. nssm install aiweb(服务名)
  3. 选择Application path按钮将pyinstaller打包后的exe文件选择过来。
  4. 点击installer service按钮,则提示成功,此时去windows服务中查看服务即可。

6.测试windows服务

在服务中点击启动按钮,在浏览器中输入ip地址和端口号,此方法可以将flask服务、爬虫服务都可以注册成windows服务,开机自启动。

原文链接:https://blog.csdn.net/mid_python/article/details/106239666

你可能感兴趣的:(python打包flask服务成exe文件,快速注册成windows服务)