如何在Windows服务器开机时自动执行指定Jupyter Lab Notebook
Jupyter Lab 开机自动执行落地方案
核心思路
使用Papermill工具执行Notebook代码,配合Windows自带的任务计划程序实现开机触发,全程不会修改原Notebook的代码结构,完全满足后续编辑需求。
步骤1:安装依赖工具
首先确认服务器上已安装Python、Jupyter Lab环境,执行以下命令安装执行工具Papermill:pip install papermill
安装完成后可先本地测试执行有效性:papermill 原Notebook路径.ipynb 输出结果路径.ipynb
该命令会读取原Notebook的全部代码按顺序执行,所有运行结果写入指定的输出文件,原文件无任何改动。
步骤2:编写开机执行脚本
新建后缀为.bat的批处理文件,示例内容如下:
@echo off :: 切换到Notebook所在的本地目录 cd /d "C:\xxx\你的Notebook存放目录" :: 执行Notebook,输出带时间戳的结果文件,避免覆盖历史运行记录 set timestamp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2% papermill 你的原Notebook文件名.ipynb 运行结果_%timestamp%.ipynb :: 可选:添加日志输出方便排查问题 :: papermill 你的原Notebook文件名.ipynb 运行结果_%timestamp%.ipynb >> C:\xxx\运行日志.txt 2>&1
编写完成后双击运行bat文件,确认能正常生成结果文件、原Notebook结构无修改、执行结果符合预期即可。
步骤3:配置Windows开机触发任务
- 按
Win+R输入taskschd.msc打开任务计划程序 - 右侧点击「创建任务」,在常规页填写任务名称,勾选不管用户是否登录都要运行、使用最高权限运行,避免权限不足导致执行失败
- 切换到「触发器」页,点击「新建」,开始任务选择启动时,点击确定
- 切换到「操作」页,点击「新建」,操作选择启动程序,程序或脚本选择上一步编写的bat文件的完整绝对路径,「起始于」填写bat文件所在的文件夹路径
- 切换到「条件」页,取消勾选只有计算机使用交流电源时才启动此任务,勾选唤醒计算机运行此任务
- 切换到「设置」页,勾选如果任务失败,按以下频率重新启动,可设置间隔1分钟、重试3次,取消勾选任务运行时间超过以下时间就停止(如果你的Notebook运行时长超过2小时建议关闭该限制)
- 点击确定,输入服务器管理员账号密码完成配置
步骤4:Azure侧适配(可选)
如需进一步提升执行稳定性,可配置Windows自动登录:运行netplwiz,取消勾选要使用本计算机,用户必须输入用户名和密码,设置默认登录的管理员账号即可,无需在Azure门户做额外配置。
注意事项
- 原Notebook需提前移除所有需要人工交互的代码(如
input()、弹窗选择逻辑等),避免执行卡住 - 若不需要留存历史运行结果,可直接将输出文件名设为固定值,每次执行自动覆盖即可
- 如执行失败可先查看bat脚本配置的日志文件定位问题
内容的提问来源于stack exchange,提问作者Ncosgove
相关产品推荐
相关产品推荐

