我们使用Python可以编写很多提高工作和学习效率的小工具,在编写完之后,如果我们想将其分享给更多的人使用,那么最便捷的方法就是将其打包为可执行程序。
在Windows环境下,我们使用Pyinstaller这个第三方模块可以快速将Python程序打包为EXE格式后缀的可执行程序。但是其打包出来的要么是一个单独的EXE文件,要么是一个文件夹。在某些的场合,可能显得不是很正式,那么我们可能需要为程序制作一个安装程序。
下面,我们就来介绍一下在Windows环境下,对Python文件进行打包和制作安装包文件的方法。
文章首发州的先生博客:使用NSIS制作Python程序安装包 - 州的先生zmister.com
示例Python程序为文章《实战 | 如何用Python实现一个图形界面的文件内容搜索程序?》中所介绍的Python文件内容搜索器。
一、使用Pyinstaller打包Python程序
将Python文件打包为可执行文件,最好的方法莫过于使用第三方库——Pyinstaller。它支持将Python文件打包为单个的EXE文件或者是一个文件夹。
如何将Python文件打包成了单个的EXE文件,那么也就不需要再制作说明安装程序了,直接双击运行即可。但是打包出来的单个EXE文件体积可能会有点大,所以我们一般会选择将其打包为一个文件夹。
其命令如下所示:
pyinstaller -w xxx.py
我们使用上述命令对Python文件搜索器的py文件进行打包:
打包完成后,我们可以在dist文件夹下看到生成的程序文件夹,里面包含了运行我们的Python程序所需要的所有文件和启动文件,运行main.exe文件,可以看到我们使用PyQt5创建的图形界面窗口就显示出来了。
这样我们就可以对其进行安装包的制作了。有两种方法:文件夹压缩器:简单、快速,同时也简陋很多;
VNISEdit编译器,复杂、功能强大;
下面一一进行介绍。
二、使用NSIS文件夹压缩器
NSIS是一个小巧的文件夹压缩器,其与ZIP或RAR等压缩器不一样的地方在于其能够生成一个NSIS经典界面的自解压文件。
只需要简单的填写几个表单,我们就能得到一个EXE自解压文件安装包。下面是我们填写的表单:
我们设置了需要压缩的文件夹,指定了解压的路径为桌面,设置的快捷方式及其指向的文件等等。
点击【编译】按钮,程序就会自动对文件夹进行压缩:
最后得到了一个名为main.exe的自解压文件:
运行这个EXE文件,程序就会自动解压压缩的文件夹并在桌面上创建一个快捷方式:
这样,我们借助NSIS文件压缩器制作完成了Python程序的安装包。
三、使用NSIS VNISEdit编译器
上面使用NSIS文件夹压缩器制作的安装包操作虽然很简单,但是生成的安装包却显得不那么正规,如果我们需要像很多正式软件安装包一样,有很多确认步骤的,则需要使用到VNISEdit编译器。
首先,打开VNISEdit编译器,从【文件】中选择【新建脚本:向导】
进入到NSIS脚本向导中:
点击【下一步】,填写应用程序的基础信息:
继续【下一步】,知道安装程序的选项,基本上默认即可:
背景窗口基本上可以不设置:
然后设置应用程序的目录的授权信息:
继续指定应用程序文件,在这里我们添加程序所在的整个目录:
接着设置应用程序的图标信息等:
第7步也可以忽略不设置,在第8步设置卸载程序的相关信息:
最后保存并编译脚本,设置一个脚本名称后,会自动进行编译:
最后,我们得到了一个名为setup.exe的可执行安装文件:
运行这个文件,我们就可以对程序进行安装了:
同时,其还提供了卸载工具:
运行uninstall,可以快速卸载安装好的程序:
四、最后
以上就是我们使用NSIS对Python打包程序进行Windows安装包制作的两种方法,两种方法各有优势,如何选择,就看自己的需求了。