在macOS上使用Anaconda3运行带有crontab的Python脚本时出现问题

2024-10-04 05:28:15 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用crontab时遇到一些问题,我对bash没有经验。在

我的桌面上有一个基本的python脚本。在

#I'm not sure if I need to shebang here.
with open('hi.txt', 'a') as file:
file.write("Woo")

我尝试过在crontab中导出环境变量,我知道我根据邮件文件夹中的反馈将crontab指向正确的目录。我相信我的问题是我不知道如何告诉解释器使用anaconda3执行文件。在

Crontab公司:

^{pr2}$

我之前在我的邮件文件夹中发现了这些错误,这让我相信问题是我不知道如何告诉bash使用anaconda3执行文件:

/bin/sh: /Users/josephwright/Desktop/cron/print.py: /usr/local/env: bad interpreter: No such file or directory

或者

/Users/josephwright/Desktop/cron/print.py: line 2: syntax error near unexpected token `('
/Users/josephwright/Desktop/cron/print.py: line 2: `with open('hi.txt', 'a') as file:'

有了上面的crontab,我的邮件文件夹中不再有错误,但是我不能在与python脚本相同的目录中获得文本文件的文本输出。如果它没有将日志发送到我的邮件文件夹,我如何查看日志以便将来进行故障排除?在

有谁能帮我指出正确的方向吗? 提前谢谢。在


Tags: py脚本文件夹bashwith邮件openhi
1条回答
网友
1楼 · 发布于 2024-10-04 05:28:15

你真的把Python代码锚定在绝对路径/anaconda3上吗?这是极不可能的。它应该是相对于你的主目录。因此,crontab文件中的PATH=/anaconda3/bin:...条目不太可能有任何用处。在

I'm not sure if I need to shebang here.

shell脚本应该始终有一个!#(shebang)行。如果没有这行代码,出于传统兼容性的原因,脚本通常由/bin/sh计算。这就是为什么你得到那些语法错误。在

如果您修复了PATH定义,那么将调用行更改为如下内容就足够了

*/1 * * * * python3 cron/print.py

相关问题 更多 >