Flask + PyInstaller = 客户端
有些非凡状况须要开发客户端,Python 有几个罕用的几个 GUI 框架,如 PyQt、wxPython 等
但应用这些 GUI 框架往往界面比拟丑,而且 GUI 的线程问题解决起来比拟麻烦,界面主线程无奈回调,做个倒计时之类的货色都麻烦
不如间接前后端拆散,应用 flask 做客户端的服务,html 写页面,应用 pyinstaller 打包成 exe,这样能够在任何 windows 电脑点击 exe 关上应用
装置依赖
pip install flask pyinstaller
文件构造
-
root
-
templates
- hello.html
- application.py
-
代码
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)