【发布时间】:2019-11-11 15:15:14
【问题描述】:
我在通过脚本通过 launchd 执行的 python 程序遇到权限问题。
如果我从终端或 BBEdit 运行 .sh 脚本,它执行正常。
从 launchd 运行时,我得到:
with open(_userHome + '/Downloads/quotes.csv', newline='') as chkFile:
PermissionError: [Errno 1] Operation not permitted: '/Users/xxx/Downloads/quotes.csv'
下载文件夹的权限授予用户 r/w 和每个人的读取权限。 我尝试使用 /usr/local/bin/python3 将 python3 添加到具有完整磁盘访问权限的安全性中。
这是特定于“下载”文件夹的。我创建了一个“Downloads2”文件夹,它运行良好。这是一个可怕的kluge。我应该可以使用默认下载文件夹。
想法?
【问题讨论】:
-
告诉我们
$ ls -ld ~/Downloads/——你已经完成了$ chmod a+rwx,是吗?您是否以名为 python3 的 用户 身份启动,所以$ sudo -u python3 ls -ld Downloads会相关? -
不是像 python 一样运行,而是像我一样运行(用户 = Craig)。 ls -ld ~/Downloads/ 给 drwxr-xr-x+ 6 个 craig 员工 192 Nov 11 10:37 /Users/craig/Downloads/
-
LauchControl(一个用于管理已启动作业的 macOS 应用程序)的作者创建了一个实用程序,允许通过该实用程序运行作业,该实用程序将脚本包装在单个授权任务中。我们仍在测试它(进展顺利),但它应该可以在下一个 LaunchControl 版本中使用。不确定该实用程序是否会单独发布。我使用 LaunchControl,我没有参与其中。
标签: python-3.x macos permissions