乐趣区

关于python:Flask-PyInstaller-客户端

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)
退出移动版