解决打包过大的问题
用 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服务
- 在cmd中进入nssm中的目录,然后进行命令
- nssm install aiweb(服务名)
- 选择Application path按钮将pyinstaller打包后的exe文件选择过来。
- 点击installer service按钮,则提示成功,此时去windows服务中查看服务即可。
6.测试windows服务
在服务中点击启动按钮,在浏览器中输入ip地址和端口号,此方法可以将flask服务、爬虫服务都可以注册成windows服务,开机自启动。
原文链接:https://blog.csdn.net/mid_python/article/details/106239666
网友评论