Python      windows平台基于pyinstaller打包flask项目为exe程序   
文章目录  [隐藏]

windows 10
python 3.10.10
pip 23.0.1
pyinstaller 5.9.0

说明:
如果要生成windows系统上的exe程序,就把项目源码放到windows系统上,并进行如下操作
如果要生成macos系统上的app程序,就把项目源码放到苹果电脑macos系统上,并进行如下操作

1.最简打包

cmd进入 项目根路径
入口函数文件为app.py
执行

得到 build文件夹、dist文件夹、app.spec文件
-w 参数表示 生成的exe程序不显示控制台。如果需要随时查看运行情况,就不使用此参数。
-i ico.ico 表示,exe文件的图标为ico.ico。如果不设置默认为python图标。
如果是一般的python程序,仅执行这一步即可。

2.flask资源文件配置

接上一步,修改app.spec文件,配置flask服务器程序所需的资源文件。
如果足够熟悉.spec文件,能够手写,也可以直接从这一步开始。

核心配置:


注意资源文件的访问,如果代码中使用的是
绝对路径,那么exe程序启动也会去找绝对路径;
相对路径,那么exe程序启动会去找相对自身的路径;
如此都不灵活,程序到其它电脑时,既需要exe程序也须要路径关系匹配的资源文件。

最好是只复制exe文件到其它电脑就能正常运行,这就须要在代码中通过动态路径访问资源文件。

3.打包flask项目

执行

这一步后,在dist文件夹中生成新的“app.exe”最终二进制程序-如果app.spec中没有设置新的名称。
运行app.exe,如图,和vscode中直接运行源文件启动程序比较:

exe程序运行时解压释放的文件路径:

4.手动终止flask程序

上一步中,直接关闭app.exe的控制台窗口即可。
vscode中启动的服务器,除了“Kill Terminal”,还可以通过flask的端口号找到对应进程。

5.可能出现的错误

打包出错:pyinstaller IndexError: tuple index out of range
修改:D:/apps/Python310/Lib/dis.py



- end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设