macOS系统下Python的keyboard模块函数运行报错如何解决
错误根源
该错误由macOS系统安全权限限制导致:keyboard模块的所有键盘监听、热键绑定、缩写替换功能都需要获取全局键盘事件权限,macOS默认禁止普通权限进程读取全局键盘输入。
解决方案
- 第一步:授予运行程序辅助功能权限
打开「系统设置」→ 「隐私与安全性」→ 「辅助功能」,找到你用来执行Python代码的应用(终端、PyCharm、VS Code等),勾选权限后完全退出对应应用再重新打开。 - 第二步:使用root权限执行脚本
运行代码时不要直接执行python xxx.py,改用sudo调用:
输入设备开机密码后即可正常运行。sudo python xxx.py
异常排查
如果操作后仍报错,可按以下方式排查:
- 对比sudo调用的Python路径和你实际使用的Python路径是否一致,分别执行
which python和sudo which python,如果输出路径不同,执行时用完整Python路径即可,比如你用的是Python3.9,就执行:sudo /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 xxx.py - 确认keyboard模块版本为最新正式版,可执行
pip install -U keyboard更新版本。
内容的提问来源于stack exchange,提问作者Greenlight
相关产品推荐
相关产品推荐

