pyinstaller打包pywebio项目为exe

背景:某目录下一堆py文件和相应的资源文件(文件夹),app.py是入口(启动)文件,资源文件通过相对路径调用。Windows10,2022.7.16

1、通过conda命令进入虚拟环境(命令提示符界面)

2、cd /d将操作路径切换到py文件所在位置,即前文所说“某目录”(命令提示符界面)

3、 pyi-makespec -c app.py 建立spec文件(命令提示符界面)

!这里我的pywebio采用

pywebio.start_server(main, port=8080, debug=True)

的启动方式,实际上运行了一个服务器,-c模式便于控制后台的运行,否则容易出现“闪退”的情况(服务器突然断开连接)

4、修改spec文件

参考第三方库生态 — PyWebIO 1.6.0 文档设置data调用pywebio资源,参考使用pyinstaller打包多文件和目录的Python项目 - 是勇哥呀 - 博客园PyInstaller打包Python项目详解 - 丶小白吖 - 博客园设置递归深度和多个py文件

(1)在文件顶上插入下列内容:

import sys
import os.path as osp
sys.setrecursionlimit(5000)

from pywebio.utils import pyinstaller_datas

(2)同时,

datas=[],

为调用pywebio资源,改为:

datas=pyinstaller_datas(),

(3)此外,

Analysis(
    ['app.py'],

改为:

Analysis(
    ['app.py','a.py'],

其中,app.py是入口(启动)文件,a.py是执行功能文件

(4)也可以加图标之类的...也可以在第三步pyi-makespec -c -i app.ico app.py

5、pyinstaller app.spec进行打包(命令提示符界面)

6、py文件所在位置(某目录)的dist中存放打包的结果,在“app”文件夹下,可执行文件和其它程序运行的关联文件都在这个目录下,将其他资源文件复制到可执行文件“app.exe”同级目录下。(设置spec文件时可以把资源文件也打包进去,但容易出错,还不如先把程序打包,再把资源文件复制进去)

!pycharts经常无法打包,需要找到“pycharts”文件夹,手动复制到“app”文件夹中,相当于一个资源文件夹...

7、“app.exe”就是最终的可执行文件,可以正常运行
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值