Mac系统安装keyboard模块成功后运行报错需管理员权限如何解决
问题原因
- Python多版本环境冲突:你的设备上同时存在Python 2.7和3.9两个版本,安装keyboard模块时使用的包管理工具与运行脚本时调用的解释器版本不匹配,要么是你用pip3将模块安装到了Python3.9的依赖目录,要么是运行脚本时默认调用了Python3.9解释器,才会出现报错路径指向Python3.9依赖包的情况。
- macOS系统权限限制:keyboard模块需要调用全局键盘监听能力,该操作属于系统敏感权限,macOS默认限制普通进程调用,因此会抛出需以管理员身份运行的Error13报错。
解决方案
第一步:修复Python环境不一致问题
- 先确认运行脚本的解释器版本,执行命令
python --version查看输出,若显示为3.9说明默认解释器不是你预期的2.7,运行时需要指定版本,命令格式为python2.7 你的脚本文件名.py。 - 确认对应版本的keyboard模块安装状态:要给Python2.7安装依赖请执行
pip2.7 install keyboard,要给Python3.9安装依赖请执行pip3 install keyboard,不要直接使用无版本后缀的pip命令,避免装错环境。
第二步:解决权限报错问题,二选一即可
- 临时提权运行:执行命令时添加sudo前缀即可,格式为
sudo 你要用的Python版本 你的脚本文件名.py,例如sudo python2.7 test.py,输入设备开机密码后即可正常运行。 - 永久授权:打开macOS「系统设置」→「隐私与安全性」→「输入监控」,勾选你运行脚本所用的终端(Terminal/iTerm2)或IDE(VSCode/PyCharm等),重启对应应用后再运行脚本无需加sudo。
内容的提问来源于stack exchange,提问作者user17001857
相关产品推荐
相关产品推荐

