1

使用NSIS制作Python程序安装包

 2 years ago
source link: https://zmister.com/archives/818.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我们使用Python可以编写很多提高工作和学习效率的小工具,在编写完之后,如果我们想将其分享给更多的人使用,那么最便捷的方法就是将其打包为可执行程序。

在Windows环境下,我们使用Pyinstaller这个第三方模块可以快速将Python程序打包为EXE格式后缀的可执行程序。但是其打包出来的要么是一个单独的EXE文件,要么是一个文件夹。在某些的场合,可能显得不是很正式,那么我们可能需要为程序制作一个安装程序。

下面,我们就来介绍一下在Windows环境下,对Python文件进行打包和制作安装包文件的方法。

示例Python程序为文章《实战 | 如何用Python实现一个图形界面的文件内容搜索程序?》中所介绍的Python文件内容搜索器。

cc13d9850a213cddcf34d8dc62107072.png

文章目录 [显示]

一、使用Pyinstaller打包Python程序

将Python文件打包为可执行文件,最好的方法莫过于使用第三方库——Pyinstaller。它支持将Python文件打包为单个的EXE文件或者是一个文件夹。

如何将Python文件打包成了单个的EXE文件,那么也就不需要再制作说明安装程序了,直接双击运行即可。但是打包出来的单个EXE文件体积可能会有点大,所以我们一般会选择将其打包为一个文件夹。

其命令如下所示:

pyinstaller -w xxx.py

我们使用上述命令对Python文件搜索器的py文件进行打包:

qq20190409.gif

打包完成后,我们可以在dist文件夹下看到生成的程序文件夹,里面包含了运行我们的Python程序所需要的所有文件和启动文件,运行main.exe文件,可以看到我们使用PyQt5创建的图形界面窗口就显示出来了。

8b737412a7f5e0f804737ba02c8d2fe7.png

这样我们就可以对其进行安装包的制作了。有两种方法:

  • 文件夹压缩器:简单、快速,同时也简陋很多;
  • VNISEdit编译器,复杂、功能强大;

下面一一进行介绍。

二、使用NSIS文件夹压缩器

NSIS是一个小巧的文件夹压缩器,其与ZIP或RAR等压缩器不一样的地方在于其能够生成一个NSIS经典界面的自解压文件。

2a07c746c8072589b898282f52de3188.png

只需要简单的填写几个表单,我们就能得到一个EXE自解压文件安装包。下面是我们填写的表单:

fea7ab68d5487fa2ff0705ecacc0d937.png

我们设置了需要压缩的文件夹,指定了解压的路径为桌面,设置的快捷方式及其指向的文件等等。

点击【编译】按钮,程序就会自动对文件夹进行压缩:

92b1378c8ea89f9bd4353a2cedb6b253.png

最后得到了一个名为main.exe的自解压文件:

cc57df231bea617e6e556ad96b7e086b.png

运行这个EXE文件,程序就会自动解压压缩的文件夹并在桌面上创建一个快捷方式:

qq201904091.gif

这样,我们借助NSIS文件压缩器制作完成了Python程序的安装包。

三、使用NSIS VNISEdit编译器

上面使用NSIS文件夹压缩器制作的安装包操作虽然很简单,但是生成的安装包却显得不那么正规,如果我们需要像很多正式软件安装包一样,有很多确认步骤的,则需要使用到VNISEdit编译器。

首先,打开VNISEdit编译器,从【文件】中选择【新建脚本:向导】

0522241ac545b70e0a7651a339f3bb45.png

进入到NSIS脚本向导中:

1a03bf58a5c067aa41fb76248cf37a22.png

点击【下一步】,填写应用程序的基础信息:

25bcb3e61ea20fc2d46f39135e5c1ef4.png

继续【下一步】,知道安装程序的选项,基本上默认即可:

2bf1bda59b745fa67fda45b91d366a98.png

背景窗口基本上可以不设置:

4a8b1a43f5d8f2eca96113f5f67f49fb.png

然后设置应用程序的目录的授权信息:

7210c0e52f055a33e6a16edacba33d03.png

继续指定应用程序文件,在这里我们添加程序所在的整个目录:

fc58d3aadd9a0cb87e4ed486854aa6ac.png

接着设置应用程序的图标信息等:

d3bc8bd0a0bea5bff075abc3b199c5ee.png

第7步也可以忽略不设置,在第8步设置卸载程序的相关信息:

064eb95029c3d4722c751dd52a856a7b.png

最后保存并编译脚本,设置一个脚本名称后,会自动进行编译:

67f48fd5c6ae595e75110add4be45700.png

最后,我们得到了一个名为setup.exe的可执行安装文件:

5ef12ee93202be2e72379ee78b2f1c2c.png

运行这个文件,我们就可以对程序进行安装了:

qq201904092.gif

同时,其还提供了卸载工具:

60e4837777a539c3d5e77908a9218b76.png

运行uninstall,可以快速卸载安装好的程序:

qq201904093.gif

以上就是我们使用NSIS对Python打包程序进行Windows安装包制作的两种方法,两种方法各有优势,如何选择,就看自己的需求了。

文中示例已经上传至百度网盘,关注微信公众号:州的先生,回复关键词:0018 获取


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK