Python 项目打包
打包工具:pyinstaller.exe/makensis.exe/nisedit.exe
·
目录
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文件的存储路径 | 默认:当前目录 |
修改打包配置文件
执行完成后项目根目录会多出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里面,这样会导致打包后的程序包含很多用不到的文件。
更多推荐
已为社区贡献1条内容
所有评论(0)