Python keyboard库无法识别按键求助(macOS Ventura+Python3.11)
解决macOS下Python keyboard库无法识别按键的问题
1. 授予辅助功能权限
macOS对键盘监听类工具权限限制严格,必须给Python进程开辅助功能权限:
- 打开「系统设置」→「隐私与安全性」→「辅助功能」
- 在列表里找到Python(或你运行代码的终端),勾选权限
- 重启终端/Python进程后再运行代码
2. 调整键名格式测试
部分场景下keyboard库对macOS的小写字母识别有异常,试试大写键名或扫描码:
import keyboard while True: # 用大写键名尝试 if keyboard.is_pressed("A"): print("You pressed 'a'.") break # 或者直接用扫描码(a的扫描码为30) # if keyboard.is_pressed(30): # print("You pressed 'a'.") # break
3. 换用兼容性更好的pynput库
keyboard在macOS上适配问题较多,推荐用pynput替代:
- 先安装库:
pip install pynput
- 替换后的代码:
from pynput.keyboard import Listener def on_press(key): try: if key.char == 'a': print("You pressed 'a'.") listener.stop() except AttributeError: # 忽略Ctrl、Shift这类无字符的特殊按键 pass with Listener(on_press=on_press) as listener: listener.join()
4. 检查版本兼容性
- 更新keyboard库到最新版:
pip install --upgrade keyboard
- 若仍无效,可尝试降级Python到3.10版本(部分用户反馈3.11与keyboard在macOS上存在兼容冲突)
内容的提问来源于stack exchange,提问作者Ale
相关产品推荐
相关产品推荐

