【问题标题】:Cronjob Python3 Mac not executingCronjob Python3 Mac未执行
【发布时间】:2017-08-24 03:40:11
【问题描述】:

我只是无法在我的 Mac 上执行 cronjob。我有以下 cronjob 行:

30 05 * * 1-5 usr/bin/python3 /Users/MyMac/Desktop/hello_world.py

应该将 helloworld 写入 txt 文件。当直接从终端执行时,这非常有效。我使用env EDITOR=nano crontab -e 将此行插入到crontab 文件中,退出,它显示crontab: installing new crontab,当使用crontab -l 查看crontab 时,它就在那里。它只是在时机成熟时不执行。我做错了什么?

【问题讨论】:

  • 您找到解决方案了吗?我做了完全相同的事情,也无法让它运行......
  • 不,遗憾的是还没有,仍在努力解决:/
  • 在下面查看我的答案。

标签: macos cron python-3.6


【解决方案1】:

我和你有同样的问题,正如我在你原来的帖子中评论的那样,但现在我已经解决了。

Python3 实际上并不位于 usr/bin/Python3 中,这就是为什么你不能让它工作的原因。终端不运行与 crontab 相同的环境变量,这意味着即使您的 python3 路径错误,它仍然可以从终端运行脚本,因为您的用户配置文件已经设置了正确的环境变量。 crontab 没有这些变量,因此它会找到您的脚本,尝试运行它但找不到 python3,因此无法编译和运行脚本。 Python3位于/usr/local/bin/python3

30 05 * * 1-5 /usr/local/bin/python3 /Users/MyMac/Desktop/hello_world.py

试试这个,这对我有用。我还建议测试一个名为 CronniX 的软件。它让您在不使用终端的情况下编辑您的 crontab 文件,这对您有很大帮助。您还可以立即从软件中测试脚本,以便更轻松地查看它是否有效(如果有效,则无论为它设置什么计划时间,脚本都应立即运行)。

【讨论】:

  • 谢谢!我认为这是问题
【解决方案2】:

我也遇到了同样的问题,我的 crontab 不起作用的错误之一是 python3 的路径 就我而言,路径是这样的:/Library/Frameworks/Python.framework/Versions/3.6/bin/python3

30 10 * * 6 /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 /Users/myMac/Desktop/main.py

另一个它不起作用的问题是权限,要将所有权限授予 cron 你必须这样做:

  1. 转到系统偏好设置、安全和隐私、全盘访问 See the image here

  2. 添加一个新的See the image here

  3. “Command + shift + G”进入文件夹并粘贴 这个“/usr/sbin/cron”,搜索cron并点击打开。记得检查cron See the image here


如果这不起作用,请尝试授予访问权限:

  1. 转到系统偏好设置、安全和隐私, 可访问性 See the image here

  2. 添加一个新的See the image here

  3. “Command + shift + G”进入文件夹并粘贴 这个“/usr/sbin/cron”,搜索cron并点击打开。记得检查cron See the image here

试试这个,这对我有用,还记得给你的终端权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-14
    • 2019-02-25
    • 2016-02-02
    • 1970-01-01
    • 2012-08-07
    • 2015-11-30
    • 1970-01-01
    • 2021-06-17
    相关资源
    最近更新 更多