windows下使用python生成安装包(可实现安装和卸载等)

在实际生活中,每个人都是通过使用安装包的方式对软件进行安装和卸载,这样才能让每个人都不需要懂代码就能使用我们编写的软件。 那么python编写的软件应该怎样实现这个过程尼? 下面就进行详细的讲解。

一、使用python代码生成可执行程序
在windows下就是要将其生成.exe文件。
首先安装:

pip install pyinstaller
#检查pyinstaller安装成功与否:
#只需要执行如下命令:
pyinstaller -v

pyinstaller参数作用
-F 表示生成单个可执行文件
-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧
-c –console, –nowindowed 使用控制台,无界面(默认)
-p 表示你自己自定义需要加载的类路径,一般情况下用不到
-i 表示可执行文件的图标
其他参数,可以通过pyinstaller --help查看

开始打包

进入python需要打包的脚本所在目录,然后执行下面的命令即可:
python -F nhdz.py -i favicon.ico -w
执行过程如下图所示:
在这里插入图片描述
打包结果
打包完成后,进入到当前目录下,会发现多了__pycache__、build、dist、nhdz.spec这四个文件夹或者文件,其中打包好的exe应用在dist目录下面,进入即可看到,可以把他拷贝到其他地方直接使用,如下图所示,是打包完成后的目录:
在这里插入图片描述
执行exe应用
因为是exe应用,是可执行文件了,所以直接双击运行即可.
现在生成了可执行程序,但是还不是我们最终需要的文件,这种只是运行,还不能实现在电脑上安装和卸载,还算不上是一个安装包。
下一步就是要把生成的可执行程序变成安装包。
二、生成安装包
在这里就需要一个叫NSIS的软件,NSIS下载
下面介绍NSIS的使用方式。
启动NSIS程序主界面,选择“可视化脚本编辑器(VNISEdit)”菜单,开始制作自己的安装包。
在这里插入图片描述
选择“使用脚本向导创建新的脚本文件”,确定
在这里插入图片描述
进步脚本向导,下一步
在这里插入图片描述
第一步,这里填写应用程序的一些基本信息,这里的运用程序名称可以更改,中文名也支持,下一步
在这里插入图片描述
第二步,这里是选择安装包的图标,生成的可执行程序名字,程序语言等,使用默认的就可以,不需要修改,也可以修改为自己喜欢的图标和可执行程序名字,程序语言不要修改。
在这里插入图片描述
第三步,选择一些安装时候的效果,可选可不选,下一步
在这里插入图片描述
第四步,指定应用程序的默认目录,授权文件最好空着,默认会有个路径,把它删掉空着就行,不然可能会报错失败,下一步
在这里插入图片描述
第五步,选择要打包的文件,这一步就是把刚刚python生成的可执行程序加进来,如果可执行程序还依赖一些外部的文件或者文件夹,那么也要加进来,可以看到左边那个是添加文件,右边是添加文件夹,添加文件夹的时候要把包含子目录勾上,具体用法,试一次就知道了。这一步很关键,慢点来,弄懂了再继续下一步,下一步
在这里插入图片描述

在这里插入图片描述

第六步,快捷方式的一些设置,下一步
在这里插入图片描述
第七步,设置安装程序之后要运行的内容,下一步
在这里插入图片描述
第八步,卸载信息设置,这一步就是在安装程序的时候会生成一个卸载文件,方便卸载软件,下一步
在这里插入图片描述
完成向导,勾选”保存脚本“,以及”转换文件路径到相对路径“,这一步会把生成安装包的脚本保存下来,同时会要求设置保存路径,最后生成的安装包会和脚本保存在一个路径下。
在这里插入图片描述
这时就可以看到通过向导生成的脚本,可以在这里继续修改脚本
在这里插入图片描述
修改完脚本以后,点击菜单”NSIS“-》“编译并运行”,编译成功后,会在脚本文件路径下生成一个exe文件,安装包制作完成,点击这个exe文件即可完成安装!
在这里插入图片描述1.问:在安装的过程中,如何执行BAT文件?

答:按照上面向导生成的脚本,有这么一段脚本,注意我用红色标注的内容,红色的部分是在文件复制完成以后执行BAT文件的脚本,注意操作步骤,复制文件结束后,再执行,卸载的时候执行BAT文件顺序相反

Section "MainSection" SEC01
  SetOutPath "$INSTDIR\*.*"
  SetOverwrite ifnewer
  File /r "D:\Program Files\HyperSnap6\*.*"
  ExecWait "$INSTDIR\install.bat"
SectionEnd

2.问:如果修改安装文件和卸载文件的图标

答:修改这部分脚本即可

!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

nsis自带的有两个图标,我自己感觉稍微能好看一点点(汗,虽然还是很丑,好吧,凑合着用),修改后的

!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\Orange-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\Orange-uninstall.ico"
 

3.问:怎么让安装程序以管理员权限运行

答:红色标注的内容,是在原有代码的基础上增加的代码,表示以管理员权限执行安装程序

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Setup.exe"
InstallDir "$PROGRAMFILES\UKey"
ShowInstDetails show
ShowUnInstDetails show
RequestExecutionLevel admin
BrandingText " "

参考文献:Python如何生成windows可执行的exe文件
使用NSIS制作安装包

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

枭志

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值