pywebio / PyWebIO

Write interactive web app in script way.
https://pywebio.readthedocs.io
MIT License
4.54k stars 383 forks source link

Pyinstaller 打包问题 #22

Closed tiantian1645 closed 3 years ago

tiantian1645 commented 3 years ago

BUG描述 Pyinstaller 打包时 静态资源 pywebio.html 未加载到打包目录下 手动添加后运行正常

环境信息

wang0618 commented 3 years ago

Pyinstaller打包时默认不会加入将数据文件,使用Pyinstaller打包PyWebIO应用时,需要使用以下方式将PyWebIO使用的静态文件打包:

  1. 生成 spec 文件 pyi-makespec <options> name.py

  2. 打开生成的 name.spec 文件,并修改 Analysisdata 参数为:

    
    from pywebio import STATIC_PATH

a = Analysis( ... datas=[(STATIC_PATH, 'pywebio/html'), (STATIC_PATH+'/../platform/tpl', 'pywebio/platform/tpl')], ... )


> 其中,`(STATIC_PATH+'/../platform/tpl', 'pywebio/platform/tpl')` 部分在 v1.0 之前(包含v1.0)不需要
3. 使用 `pyinstaller name.spec` 生成可执行文件

参见:https://pyinstaller.readthedocs.io/en/stable/spec-files.html

PS: Script模式和Server模式的PyWebIO应用都支持使用上述方式打包。