【问题标题】:Import error: cannot import name '_NORMALIZED_MODIFIERS' from pynput导入错误:无法从 pynput 导入名称“_NORMALIZED_MODIFIERS”
【发布时间】:2020-04-17 19:24:35
【问题描述】:

我找不到任何关于如何使用 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 中输入脚本会返回相同的错误。

版本:
蟒蛇 3.7.4
点 19.3.1
conda 4.8.0 (miniconda)
pynput 1.6.1
视窗 8.1

test.py

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

keyboard = Controller()

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

【问题讨论】:

  • 我遇到了同样的问题,我发现如果你使用 sudo 权限运行你会得到一个不同的错误,所以我猜这就是进步。

标签: python pynput


【解决方案1】:

这是 1.6.1 版本的 pynput 中的错误。 您可以重新安装更新的版本 要么 在 \pynput\keyboard\ 的文件 '_base' 中,它会尝试执行:

from .. import _NORMALIZED_MODIFIERS

你需要做的就是改变它:

from . import _NORMAL_MODIFIERS

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

【讨论】:

    猜你喜欢
    • 2022-01-27
    • 2021-09-10
    • 1970-01-01
    • 2022-06-21
    • 2022-12-08
    • 2022-11-29
    • 2023-01-22
    • 2023-01-19
    • 2023-02-06
    相关资源
    最近更新 更多