将Python脚本作为Windows服务运行

8

是否有一种方法可以在Windows 7系统启动时运行我的Python 3脚本?

我知道这个问题已经被问了几次,但是没有一个解决方案真正满足我的需求,因为我更喜欢使用免费的Python解释器而不是切换到ActivePython。

我已经安装了Python for Windows扩展并且想使用py2exe,但它不支持Python 3。


1
如果他们为您完成了工作,我会考虑只使用ActivePython。否则,您可以使用服务包装器,例如:https://github.com/kohsuke/winsw/(我不能保证它,以前我只用过不同的Java程序。但是它是免费的,并声称支持任何可执行文件。) - millimoose
2
使用SrvAny非常简单。请参阅微软的说明关于Windows 7 - firefrorefiddle
1
我使用了winsw,它非常好用,易于操作,并且不需要对我的Python代码进行任何调整。 - mafrasi2
3个回答

7
您也可以通过以下步骤使用Windows任务计划程序(输入时跳过引号):
  • 在开始按钮搜索框中搜索“任务计划程序”
  • 创建一个新任务
  • 在“创建任务”对话框中,转到“触发器”选项卡,单击“新建”按钮
  • 从“开始任务”下拉菜单中选择“开机启动”,然后单击“确定”
  • 转到“操作”选项卡,单击“新建”按钮
  • “操作”下拉菜单应显示“启动一个程序”
  • 在“程序/脚本”框中,输入“python.exe”
  • 在“添加参数”框中,输入您的Python脚本的完整路径及任何参数,例如“C:\Scripts\startupscript.py -c onstart”

2
假设您已经使用 py2exe 从 Python 脚本生成了一个完全可用的独立 exe 文件,您可以在 windows registryHKLM\Software\Microsoft\Windows\CurrentVersion\Run 下添加一个新的字符串,将一些随机键和值作为您的 exe 文件的 绝对路径。只需通过从 Windows 的 run 提示中运行 regedit 来访问该项。这将在 Windows 7 启动时运行该 exe 文件!

0

你可以使用sc命令。我现在无法测试,但我认为它应该是这个样子:

sc create MyCoolService start=auto binpath=c:\mycoolprogram\supercool.exe obj=LocalSystem displayname=CoolService

查看链接以获取命令语法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接