Mac Automator右键执行Python脚本遭遇权限错误求助
解决Mac Automator右键调用虚拟环境Python的权限问题
问题描述
在MacBook上通过Automator创建右键脚本,调用虚拟环境中的Python执行指定脚本:
/Users/johncole/Desktop/DALL-E/scripting/Dollybot/openai202211/bin/python /Users/johncole/Desktop/DALL-E/scripting/dalle-right_click/right-click-run-expand_picture.py "\""$1""\"
- 在Automator内点击运行按钮时正常工作
- 右键点击目录文件运行时,抛出权限错误:
The action “Run Shell Script” encountered an error: “Exception ignored error evaluating path:
Traceback (most recent call last):
File "", line 353, in
PermissionError: [Errno 1] Operation not permitted
Fatal Python error: error evaluating path
Python runtime state: core initializedCurrent thread 0x000000011426c600 (most recent call first):
”
已尝试的操作:
- 确认虚拟环境Python和目标脚本权限设置正确
- 执行
chmod +x修改权限 - 测试脚本验证Automator具备目录文件操作权限
解决方法
1. 给Automator添加全磁盘访问权限
- 打开「系统设置」→「隐私与安全性」→「全磁盘访问」
- 点击列表下方的
+按钮,找到Automator.app(路径:/Applications/Automator.app)添加进去 - 重启Automator后再测试右键脚本
2. 修改Shell脚本的执行环境
在Automator的「运行Shell脚本」动作中,将Shell选项从默认的/bin/zsh或/bin/bash改为/bin/sh,同时确保传递输入设置为「作为参数」
3. 改用激活虚拟环境的方式执行脚本
修改Shell脚本内容,先激活虚拟环境再运行目标脚本,避免直接调用虚拟环境Python的路径问题:
# 激活虚拟环境 source /Users/johncole/Desktop/DALL-E/scripting/Dollybot/openai202211/bin/activate # 执行目标脚本 python /Users/johncole/Desktop/DALL-E/scripting/dalle-right_click/right-click-run-expand_picture.py "$1" # 退出虚拟环境(可选) deactivate
4. 修复Python路径评估问题
错误提示指向「error evaluating path」,可在脚本开头添加环境变量配置,避免路径冲突:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" export PYTHONPATH=""
5. 重新创建虚拟环境
如果虚拟环境是用第三方工具(如pyenv、conda)创建的,尝试用系统原生命令重新创建,规避环境变量或权限异常:
python3 -m venv /Users/johncole/Desktop/DALL-E/scripting/Dollybot/new_venv # 激活新环境并重新安装依赖 source /Users/johncole/Desktop/DALL-E/scripting/Dollybot/new_venv/bin/activate pip install -r /path/to/requirements.txt
内容的提问来源于stack exchange,提问作者PFAS Expert
相关产品推荐
相关产品推荐

