pynput.keyboard 侦听器在 macOS 上失败

问题描述

我只是想制作一个简单的键盘监听器,打印我按下的任何键(pynput.keyboard.Listener)。这是我的代码

from pynput.keyboard import Listener

def on_press(k):
    print(k)


with Listener(on_press=on_press) as lis:
    lis.join()

但是,当我运行它时,它什么也不做。所以我按 CTRL+C显示这些错误

Traceback (most recent call last):
  File "/Users/me/Desktop/py/KeyLogger/keylogger.py",line 8,in <module>
    lis.join()
  File "/usr/local/lib/python3.7/site-packages/pynput/_util/__init__.py",line 252,in join
    super(AbstractListener,self).join(*args)
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py",line 1044,in join
    self._wait_for_tstate_lock()
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py",line 1060,in _wait_for_tstate_lock
    elif lock.acquire(block,timeout):
KeyboardInterrupt

这里使用 anaconda/python3.8 而不是 python3.7

Traceback (most recent call last):
  File "/Users/me/Desktop/py/KeyLogger/keylogger.py",in <module>
    lis.join()
File "/Users/me/opt/anaconda3/lib/python3.8/site-packages/pynput/_util/__init__.py",self).join(*args)
  File "/Users/me/opt/anaconda3/lib/python3.8/threading.py",line 1011,in join
    self._wait_for_tstate_lock()
  File "/Users/me/opt/anaconda3/lib/python3.8/threading.py",line 1027,timeout):
KeyboardInterrupt

似乎错误是当我告诉侦听器开始时。我一直在寻找类似的问题(主要是线程和 join() 问题),但我还没有找到我的问题的答案。 ¿会不会是 pynput 问题?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)