目录

1.第三方工具安装:

pyinstaller.exe:

makensis.exe

nisedit.exe

2.项目程序打包

项目初次打包

修改打包配置文件

项目再次打包

多余插件删除

生成安装脚本

生成安装包


1.第三方工具安装:

pyinstaller.exe:

python -m pip install pyinstaller

安装完成后,在Python安装路径找到:pyinstaller.exe,表示安装成功!

makensis.exe
NSIS下载网址https://nsis.sourceforge.io/Download/

nisedit.exe
NSIS EDIT下载地址:https://nsis.sourceforge.io/HM_NIS_Edit#Links

2.项目程序打包

项目初次打包

在项目根目录打开cmd窗口,执行命令:

pyinstaller.exe -D -w Framework/main.py

Framework/main.py为项目程序的主入口程序,此处采用的为相对路径,其他各参数说明如下:

参数名描述说明
-D生成one-folder的程序(默认)生成结果是一个目录,各种第三方依赖、资源和exe同时存储在该目录
-F生成one-file的程序生成结果是一个exe文件,所有的第三方依赖、资源和代码均被打包进该exe内
-y如果dist文件夹内已经存在生成文件,则不询问用户,直接覆盖默认:询问是否覆盖
-w不显示命令行窗口编写GUI程序时使用此参数有用。
–distpath生成文件放在哪里默认:当前目录的dist文件夹内
–workpath生成过程中的中间文件放在哪里默认:当前目录的build文件夹内
–specpath指定.spec文件的存储路径默认:当前目录

PyInstaller各参数含义说明

修改打包配置文件

执行完成后项目根目录会多出2个文件夹:build、dist,另外还有一个文件:main.spec。由于项目中有些文件是插件或者是我不希望进行打包的,所以此时通过修改main.spec文件内容,删除文件夹:build、dist,然后通过pyinstaller.exe重新生成符合期望的项目包。

build生成过程中的中间文件存放路径
dist生成文件存放路径
mian.spec打包配置

项目再次打包

修改打包配置文件完成后,执行指令:

pyinstaller.exe -y main.spec

多余插件删除

对项目中没进行打包的插件,如果不需要压缩进安装包,则可以选择性删除该类文件夹。

生成安装脚本

运行nisedit.exe文件,选择:文件->新建脚本:向导。

 

 

 

 

 

 

 

 将脚本文件保存为test_project.nsi

生成安装包

找到保存的test_project.nsi路径,打开cmd运行指令:

"C:\Program Files (x86)\NSIS\makensis.exe" test_poroject.nsi

另外提醒一下,在代码里面尽量不要用import,能from ... import ...就尽量用这个,因为如果是import *的话,在打包的时候,会将整个包都打包到exe里面,这样会导致打包后的程序包含很多用不到的文件。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐