Flask + PyInstaller = 客户端
2024-10-21 13:29:13
Flask + PyInstaller = 客户端
有些特殊情况需要开发客户端,Python有几个常用的几个GUI框架,如 PyQt、wxPython等
但使用这些GUI框架往往界面比较丑,而且GUI的线程问题处理起来比较麻烦,界面主线程无法回调,做个倒计时之类的东西都麻烦
不如直接前后端分离,使用flask做客户端的服务,html写页面,使用pyinstaller打包成exe,这样可以在任何windows电脑点击exe打开使用
安装依赖
pip install flask pyinstaller
文件结构
- root
- templates
- hello.html
- application.py
- templates
代码
application.py
import webbrowser
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def hello_world():
return render_template('hello.html')
if __name__ == '__main__':
webbrowser.open('http://localhost:15000')
app.run(host='localhost', port=15000)
templates/hello.html
<!doctype html>
<html>
<head>
<title>演示客户端</title>
</head>
<body>
<h1>演示</h1>
<p>演示如何使用Flask + PyInstaller制作客户端</p>
</body>
</html>
打包
pyinstaller application.py --add-data=templates;templates --name=demo
执行后,将在项目目录下生产 dist/demo 目录,双击 dist/demo/demo.exe 即可打开客户端
- 也可使用python调用pyinstaller,运行下面这段代码和上面的打包命令一样的效果
from PyInstaller.__main__ import run
if __name__ == '__main__':
opts = ['application.py', '--add-data=templates;templates', '--name=demo']
run(opts)
最新文章
- UWP简单示例(一):快速合成音乐MV
- 一个注解方式webSocket demo
- java,android获取系统当前时间
- K2 blackpearl 流程开发(二)
- NYOJ 题目15 括号匹配(二)(区间DP)
- python 学习笔记整理
- ThinkPHP 3.2版本 , 无法读取$_SESSION[&#39;verify_code&#39;]
- 五张图概括 什么是 ASP 、 ASP.NET (Web Pages,Web Forms ,MVC )
- 实时同步rsync+inotify
- python之list
- JS开发引用HTML DOM的location和document对象
- substr函数的用法
- Android设计模式总结
- NiftyNet项目介绍
- jquery tooltip
- CH 2601 - 电路维修 - [双端队列BFS]
- 前端 HTML form表单标签 input标签 type属性 checkbox 多选框
- 如何用MAT分析Android程序的内存泄露
- fastcgi协议解析(nginx)
- 基于.NET平台常用的框架
热门文章
- [Unity]限制一个值的大小(Clamp以及Mathf)
- 通过Docker启动DB2,并在Spring Boot整合DB2
- Hugging Face 开源库介绍
- 前端必备基础知识之--------原生JS发送Ajax请求
- 最新编程语言排名Python、C、Java 和 C++ 已形成四足鼎立之势
- typora配置图床
- Kubernetes(k8s)控制器(三):ReplicationController
- SpringCloud 消费请求Eureka调用服务提供者报错
- springboot多模块controller访问的问题
- P8_组件-view和scroll-view组件的基本用法