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

macOS系统下Python 3.x版本keyboard模块无法正常使用怎么办?

你遇到的报错本质是keyboard模块对macOS平台尤其是Apple Silicon架构的适配不完整导致的,该模块核心开发优先适配Windows系统,macOS下仅支持部分基础功能,没有做全按键映射,也没有适配ARM架构的底层调用,不是你的Python安装或者配置的问题。

以下是满足需求的可用解决方案:

方案1:Python生态替代(pynput)

pynput是跨平台键鼠控制库,原生适配Apple Silicon和Intel架构的macOS,支持全局按键监听、全类型按键模拟、鼠标事件监听与模拟,满足宏脚本开发需求。

  • 安装命令:pip install pynput
  • 前置配置:打开「系统设置→隐私与安全性→辅助功能」,勾选你用来运行脚本的终端程序(终端.app、iTerm2等)或代码编辑器,否则全局权限不足会导致功能失效。
  • 基础用法示例:

模拟按键

from pynput.keyboard import Controller, Key

kb = Controller()
# 模拟按下松开a键
kb.press('a')
kb.release('a')
# 模拟按下esc键
kb.press(Key.esc)
kb.release(Key.esc)
# 批量输入字符串
kb.type('test content 123')

全局按键监听

from pynput.keyboard import Listener, Key

def press_callback(key):
    try:
        # 捕获字母/数字按键
        print(f'触发按键:{key.char}')
    except AttributeError:
        # 捕获特殊按键
        print(f'触发特殊按键:{key}')
    # 按下esc终止监听
    if key == Key.esc:
        return False

# 启动监听
with Listener(on_press=press_callback) as listener:
    listener.join()

pynput同样支持鼠标移动、点击、滚轮操作,可直接参考内置接口文档使用。

方案2:非Python原生方案(更稳定)

如果不需要绑定Python生态,更推荐macOS原生适配的工具,运行效率更高、权限适配更完善:

  • Hammerspoon:基于Lua语法编写自动化脚本,原生支持全局快捷键注册、键鼠模拟、窗口管理、系统调用等功能,有大量现成的宏脚本可以直接复用,完全适配Apple Silicon设备。
  • 自动操作(Automator)+ AppleScript/JavaScript for Automation:系统内置工具,无需安装额外软件,适合简单的重复操作场景,可绑定全局快捷键触发自定义工作流。

内容的提问来源于stack exchange,提问作者so_confused

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:45:01