You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:41:17