【问题标题】:Scheduled Python script in task scheduler not working任务计划程序中的计划 Python 脚本不起作用
【发布时间】:2023-02-07 00:47:19
【问题描述】:

我有一个 python 脚本,我试图安排它在我的 VM 中的任务计划程序中运行,但它似乎没有运行,它返回 (0x2) 作为上次运行的结果。我能够手动运行脚本并且它有效。我什至创建了一个批处理文件来执行有效的脚本,并尝试在任务计划程序中安排它,但它也给出了同样的错误。我唯一的猜测是它不起作用,因为它使用 Google Sheets API 并从项目文件夹中的 JSON 文件中读取凭据,但我仍然不确定为什么它不会按计划运行。如果您有任何想法,我将不胜感激。在任务调度程序中,我使用路径Z:\Python\PythonGSAPI\executePy.bat 来执行批处理文件。批处理文件的内容是

@echo off
"C:\Python27\python.exe" "Z:\Python\PythonGSAPI\TF_Invoice.py"
pause

【问题讨论】:

  • 您可以将输出重定向到文件吗?
  • 我首先要看的是程序启动时继承的环境变量 (os.environ)。它在调度程序和您自己的命令行中的启动方式可能有所不同。
  • 在您的 Python 脚本中,JSON 文件的路径是绝对路径吗?否则,计划任务可能是从不同的目录开始的,并且不知道该文件在哪里。

标签: python gspread


【解决方案1】:

这是由于 PATH 环境变量而发生的,例如,如果您使用 Anaconda Python,则需要在安装期间选择第一个选项,甚至在安装之后进行配置。 enter image description here

【讨论】: