无法通过 Windows 任务计划程序将 python 脚本计划到 运行

Cannot schedule a python script to run through Windows Task Scheduler

我已经设置了我的 windows 任务调度程序来为 运行 一个 python 脚本创建一个任务,该脚本将向一些人(包括我自己)发送电子邮件。

我在 Program/script

的操作选项卡中添加了我的 Python 的位置
C:\Users\User\AppData\Local\Programs\Python\Python37\python.exe

我添加了我的 python 文件作为参数 文件路径为开始于:

C:\Users\User\Documents\GitHub\automation

然而,当我 运行 脚本时(我通过 运行 每 5 分钟对它进行测试,持续 15 分钟)。 Python.exe 可以短暂打开,但我的 python 脚本中的电子邮件未发送,这意味着脚本未 运行ning。我已经多次测试我的代码并且知道它有效。

如果您在任务计划程序中检查该任务的历史记录,您将看到 python 解释器返回的退出代码。这很可能是权限问题(您将解释器配置为 运行 的用户帐户没有足够的权限来执行脚本中包含的所有语句)或缺少要求。您在评论中提到您使用的是 IDE;如果是这种情况,那么您可能在 IDE 中使用了虚拟环境,因此 python 的系统安装缺少您用于 运行 代码的包,导致对于未发送出去的电子邮件。

如果您在 IDE 项目中指定了 requirements.txt 文件,则可以通过确保 运行 pip install -r <requirements.txt file location> 来解决任何依赖性错误,或者您可以简单地手动使用类似的 pip 命令安装所需的包。如果问题是 Windows 权限,您可以创建一个具有更高权限的新 Windows 用户(假设您在自己的系统上具有管理员访问权限)并以该用户的身份执行任务 运行,或者您可以在您的任务中启用 Run with highest privileges 检查按钮 属性。

任务计划程序很可能在 Windows 中的服务帐户下运行。这意味着它无法访问您在本地安装的所有软件包。要解决此问题,请尝试

pip freeze —user > requirements.txt

然后在管理员命令中 window:

pip install requirements.txt

这将重新安装软件包,以便所有用户都可以使用它们