前段时间接到需求,需要将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
以上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
将D:\test\dist\test.exe添加到path中,点击install service就完成了
打开电脑服务,启动test服务:
右键点击test服务的属性,将启动类型改为自动
再去D:\test查看test.txt:
至此服务就安装完成了!