Python 3.13.0中pynput鼠标监听器无法工作的问题求助
Python 3.13下pynput监听器抛出NotImplementedError的解决办法
我尝试用pynput库的监听器获取鼠标点击事件,该功能在Python 3.11.3中可正常运行,但升级到Python 3.13.0后无法工作。
初始化监听器的代码如下:
def init_listeners(self): try: self.mouse_listener = mouse.Listener( on_move=self.on_move, on_click=self.on_click, on_scroll=self.on_scroll ) self.keyboard_listener = keyboard.Listener( on_press=self.on_press, on_release=None ) except Exception as e: print(f"Error initializing listeners: {e}") self.mouse_listener = None self.keyboard_listener = None
运行时抛出如下未处理异常:
Unhandled exception in listener callback Traceback (most recent call last): File "C:\Users\Admin\AppData\Local\Programs\Python\Python313\Lib\site-packages\pynput\_util\win32.py", line 386, in _handler converted = self._convert(code, msg, lpdata) File "C:\Users\Admin\AppData\Local\Programs\Python\Python313\Lib\site-packages\pynput\_util\win32.py", line 401, in _convert raise NotImplementedError() NotImplementedError
解决办法
- 更新pynput到最新版本:当前pynput可能未适配Python 3.13,执行命令
pip install --upgrade pynput,新版本通常会跟进适配新Python版本。 - 暂时回退Python版本:如果更新后仍无法解决,可回退到Python 3.11.3,保证功能正常运行,等待pynput后续版本完善适配。
- 替换监听库:若不想回退Python版本,可尝试改用
mouse或keyboard等其他同类型库实现鼠标/键盘监听逻辑。
内容的提问来源于stack exchange,提问作者Russell
相关产品推荐
相关产品推荐

