我找不到有关如何使用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)
答案 0 :(得分:1)
这是pynput 1.6.1发行版中的错误。 您可以重新安装较新的版本 要么 在\ pynput \ keyboard \中的文件“ _base”中,它试图执行:
from .. import _NORMALIZED_MODIFIERS
您所需要做的就是也进行更改:
from . import _NORMAL_MODIFIERS
这对我有用,希望对您有帮助:)