使用子进程执行 python 脚本时 Cron 作业失败

Cron job fails when executing python script with subprocess

我的 cron 运行设置如下时没问题:

* * * * * usr/local/bin/python3 /Users/username/path/to/my/script1.py
* * * * * bash -c -l "/Users/username//path/to/my/script2.sh"

当我像这样在终端中手动运行上述脚本时,它也有效:

usr/local/bin/python3 /Users/username/path/to/my/script1.py
sh /Users/username//path/to/my/script2.sh

但是,当我尝试 运行 两个脚本作为计划为 cron 作业的 parent.py 脚本中的子进程时,它不会工作并抛出此错误:

/bin/sh: usr/local/bin/python3: No such file or directory

我的parent.py代码:

import subprocess

subprocess.run('usr/local/bin/python3 /Users/username/path/to/my/script1.py && sh /Users/username//path/to/my/script2.sh', shell=True)

然而,当我像这样在终端中手动 运行 parent.py 时,它工作正常:

usr/local/bin/python3 /Users/username/path/to/my/parent.py

我试过将 #!/usr/local/bin/python3 添加到我的 parent.py 但这没有帮助。

有人可以帮忙吗?提前致谢。

您在 usr/local/python3!

之前少了一个斜线

应该是/usr/local/python3

有关详细信息,请参阅 this