利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

共计 918 个字符,预计需要花费 3 分钟才能阅读完成。

提醒:本文最后更新于2020-12-29 20:05,文中所关联的信息可能已发生改变,请知悉!

怎么做呢?步骤分为两步,第一步是把python程序打包成windows的可执行程序,第二步把这个可执行程序再封装为系统服务。而系统服务运行的话是后台形式的,不会显示任何窗口,并且可以很方便地实现开机启动。准备工具/环境要求:Windows系统都可以,已经安装完了python环境的电脑。一、使用pyinstaller将python程序打包为exe可执行程序

1 win+R,打开运行,cmd

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

2 安装pyinstaller:

pip install pyinstaller

安装成功后会显示:

Successfully installed pyinstaller-3.3.1

3 进入python程序的文件夹,打包程序(比如我的程序在D盘)

pyinstaller -F D:\zyz.py

注意:加入-F参数表示打包成单一exe程序

完成如图,exe程序路径在倒数第二行:

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

我们打开这个exe文件运行一下,确保没问题:

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

二、使用nssm将exe可执行程序注册为系统服务

1 nssm下载地址:https://nssm.cc/ci/nssm-2.24-101-g897c7ad.zip

下载完了解压,会得到一个文件夹,内容如图:

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

2 根据你的系统是32位的还是64位的,进入相应的文件夹,将文件夹下的nssm.exe复制到E盘(复制到哪里没强制要求,方便就行)

3 电脑左下角搜索框中搜索cmd,右键以管理员身份运行:

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

4 进入刚才复制的nssm文件夹中,运行命令注册服务:

E:
nssm install DDNS_client <自己定义名称>

然后会弹出来一个界面:

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

Application Path:要注册为服务的程序的路径

Startup directory:要注册为服务的程序所在的文件夹

Arguments:启动参数

填写如图:

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

填完后直接点Install service就好了。

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

5 查看系统服务/配置自启动

win+R运行 services.msc,打开系统服务。

找到我们刚才注册的服务,如图,修改为自动启动,然后点启动:

利用pyinstaller+nssm将py脚本打包为exe可执行程序并开机启动

这样这个python程序就在后台运行了。如果我们要删除服务,那么将第四步的操作改为:

nssm remove <自己定义的服务名称>

正文完
 0