赞
踩
【Python】Python项目打包发布(一)(基于Pyinstaller打包多目录项目)
【Python】Python项目打包发布(二)(基于Pyinstaller打包PyWebIO项目)
【Python】Python项目打包发布(三)(基于Aardio打包多目录项目)
【Python】Python项目打包发布(四)(基于Nuitka打包PySide6项目)
【Python】Python项目打包发布(五)(制作Windows安装包)
关于Pyinstaller基础配置,可以查看Python打包发布(一)(基于Pyinstaller打包多目录项目)。
PyWebIO属于国产Pthon第三方库,官方文档及示例比较齐全,并且已经对Pyinstaller打包做了适配。基于PyWebIO可以快速开发Python前端界面,方便展示。
PyWebIO提供了一系列命令式的交互函数来在浏览器上获取用户输入和进行输出,将浏览器变成了一个“富文本终端”,可以用于构建简单的Web应用或基于浏览器的GUI应用。
PyWebIO还可以方便地整合进现有的Web服务,让你不需要编写HTML和JS代码,就可以构建出具有良好可用性的应用。
PyWebIO官网:https://pywebio.readthedocs.io/zh_CN/latest/
- Project
- app.py
app.py结构
# -*- coding:utf-8 -*-
from pywebio import start_server
from pywebio.input import *
from pywebio.output import *
import webbrowser
import http.client
import json
from urllib.parse import quote_plus
from math import ceil, floor
def geocode():
....
return
def main():
...
if __name__ == '__main__':
webbrowser.open_new('http://localhost:8080')
start_server(main, debug=True, port=8080)
使用Pywebio结合百度地图api进行2000大地坐标系分度带计算。
通过调用webbrowser,可以使打包后的PyWebIO项目直接打开浏览器运行。
pyi-makespec app.py
# -*- mode: python ; coding: utf-8 -*-
from pywebio.utils import pyinstaller_datas
block_cipher = None
a = Analysis(['app.py'],
pathex=[],
binaries=[],
datas=pyinstaller_datas(),
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='app',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None )
pyinstaller -F app.spec
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。