python打包成exe,并将exe注册到windows服务中

前段时间接到需求,需要将py脚本打包成exe,并且注册到windows服务中,保证电脑启动时服务能够自动启动,因此选择了pyinstaller进行打包,简单易操作。

安装所需要的包

pip install pyinstaller  # 用于打包py脚本

还有一个nssm.exe文件,是我在网上找到的,可以将exe文件注册到windows服务中,有需要这个文件的我把链接留下了:网盘链接 ,里面还有一个pyinstaller安装包,可以下载到本地直接去安装

打包脚本

要打包的脚本:

from datetime import datetime
import time

while True:
    with open(r'D:\test\test.txt','a+',encoding='utf-8') as f:
        f.write('现在时间是:'+datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
    time.sleep(60)

打包命令:

D:
cd test
pyinstaller -F D:\test\test.py

会在同级目录下产生两个文件夹:build、dist,和一个spec文件,dist中可以找到我们打包成功的test.exe
python打包成exe,并将exe注册到windows服务中_第1张图片
python打包成exe,并将exe注册到windows服务中_第2张图片
python打包成exe,并将exe注册到windows服务中_第3张图片
以上exe就打包好了。

打包多个脚本:

pyinstaller -F a.py b.py c.py

想要指定exe的图标:

pyinstaller -F --icon=test.ico a.py  # 将test.ico放在同级目录下就行了

将exe安装到windows中作为服务

nssm install test  # test是服务名,可以自己设置

会跳出服务安装窗口,点击path
python打包成exe,并将exe注册到windows服务中_第4张图片
将D:\test\dist\test.exe添加到path中,点击install service就完成了
python打包成exe,并将exe注册到windows服务中_第5张图片
打开电脑服务,启动test服务:
python打包成exe,并将exe注册到windows服务中_第6张图片
右键点击test服务的属性,将启动类型改为自动
python打包成exe,并将exe注册到windows服务中_第7张图片
再去D:\test查看test.txt:
python打包成exe,并将exe注册到windows服务中_第8张图片
至此服务就安装完成了!

你可能感兴趣的:(运维)