python-3.x - 尝试使用 cron 运行 Python 脚本,得到 [Errno 1] 不允许操作

标签 python-3.x cron macos-catalina

所以我有一个 Python 脚本,它只是从 API 中提取信息并发送电子邮件。当我手动运行它时,它可以工作。我设置了一个 cron 作业:

30 7 * * * /Users/myname/anaconda3/bin/python3 /Users/myname/Desktop/repo/somefolder/script.py >> /Users/myname/Desktop/filename.log 2>&1

但 filename.log 中的输出是:
/Users/myname/anaconda3/bin/python3: 无法打开文件 '/Users/myname/Desktop/repo/somefolder/script.py': [Errno 1] 不允许操作

我尝试了很多不同的事情,包括尝试不同的文件权限、以 root 身份创建 cron 作业、添加 shebang 和不同的 Python 路径,但除此错误外无法获得任何输出。到目前为止,我在网上找到的任何东西都没有给出不同的结果。

我使用的是 macOS Catalina 10.15.1。
我的脚本当前的文件权限:
-rwxr--r--  1 myname  staff  4161 13 Nov 18:07 /Users/myname/Desktop/repo/somefolder/script.py

任何帮助,将不胜感激!

最佳答案

我在尝试在 MacOS 中使用 crontab 运行 node.js 脚本时遇到了非常相似的问题。为了让我最终让它工作,我不得不添加 cronzsh到系统偏好设置中我的安全和隐私设置中的完整磁盘访问。

如何添加cron:
1. Apple Menu -> System Preferences -> Security & Privacy -> Full Disk Access
2. 单击锁定以允许更改
3.点击+号
4. 按 Command + Shift + G 并输入“/usr/sbin/”
5. 滚动以在二进制文件列表中找到“cron”
6.点击“打开”

如何添加 zsh:
1. 重复步骤 1 - 3
2. 按 Command + Shift + G 并输入“/bin”
3. 滚动以在二进制文件列表中找到“zsh”
4. 点击“打开”

在我这样做之后,我的 cron 工作运行没有问题。希望有帮助

关于python-3.x - 尝试使用 cron 运行 Python 脚本,得到 [Errno 1] 不允许操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58844669/

相关文章:

php - 如何检索推送通知 php 的 ck.pem 文件

C - 编译程序时出现多个警告 "pointer is missing a nullability type specifier",我该怎么办?

ios - 如何管理 Podfile - iPhone、iPad 和 Mac 10.15 的部署

python-3.x - 如何在 tensorflow 中使用 python3 预测 LSTM 模型中的情绪?

python - 如何使用python获取脚本中的值

python - 在python中使用回车和换行的正确方法

Python - 将附加反斜杠添加到文件路径

cron - 在Docker中处理Cron作业?

linux - 挂载操作后 Cron 作业停止工作

windows-10 - 如何在我的 Electron 应用程序的标题中放置一个空格?