导入错误:无法从Pynput导入名称“ _NORMALIZED_MODIFIERS”

时间:2019-12-28 00:37:32

标签: python pynput

我找不到有关如何使用Pynput修复此导入错误的任何信息。重新安装了Pynput,进行了简单的测试,尝试按不同的键进行按下/释放和所有相同的错误。

错误消息:

PS C:\Users\username\Desktop\Python Voice Cmd Input> python -m test
Traceback (most recent call last):
  File "C:\ProgramData\Miniconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\ProgramData\Miniconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\username\Desktop\Python Voice Cmd Input\test.py", line 6, in <module>
    keyboard.press(Key.space)
  File "C:\ProgramData\Miniconda3\lib\site-packages\pynput\keyboard\_base.py", line 363, in press
    self._update_modifiers(resolved, True)
  File "C:\ProgramData\Miniconda3\lib\site-packages\pynput\keyboard\_base.py", line 574, in _update_modifiers
    if self._as_modifier(key):
  File "C:\ProgramData\Miniconda3\lib\site-packages\pynput\keyboard\_base.py", line 595, in _as_modifier
    from .. import _NORMALIZED_MODIFIERS
ImportError: cannot import name '_NORMALIZED_MODIFIERS' from 'pynput' (C:\ProgramData\Miniconda3\lib\site-packages\pynpu
t\__init__.py)

不返回错误:

$ Python
>>> import pynput   

,然后从IDLE中键入脚本会返回相同的错误。

版本:
python 3.7.4
点19.3.1
康达4.8.0(miniconda)
Pynput 1.6.1
Windows 8.1

test.py

#!/usr/bin/env python3
from pynput.keyboard import Key, Controller

keyboard = Controller()

keyboard.press(Key.space)
keyboard.release(Key.space)

1 个答案:

答案 0 :(得分:1)

这是pynput 1.6.1发行版中的错误。 您可以重新安装较新的版本 要么 在\ pynput \ keyboard \中的文件“ _base”中,它试图执行:

from .. import _NORMALIZED_MODIFIERS

您所需要做的就是也进行更改:

from . import _NORMAL_MODIFIERS

这对我有用,希望对您有帮助:)

相关问题