【问题标题】:How to detect a key-press in python with raspberry pi如何使用树莓派检测python中的按键
【发布时间】:2020-01-27 05:18:10
【问题描述】:

我正在使用键盘模块,它出现了这个错误。

我看过其他帖子,按照他们说的做了,使用 sudo pip3 install keyboard 但它仍然不起作用。

import keyboard
loop = ""


while loop == "":

    if keyboard.read_key() == "w":
        print("You pressed w")



    if keyboard.read_key() == "a":


        print("You pressed a")

    if keyboard.read_key() == "s":
        print("You pressed s")



    if keyboard.read_key() == "d":
        print("You pressed d")

>>> 
==================== RESTART: /home/pi/Desktop/turret.py ====================
Traceback (most recent call last):
  File "/home/pi/Desktop/turret.py", line 7, in <module>
    if keyboard.read_key() == "w":
  File "/usr/local/lib/python3.7/dist-packages/keyboard/__init__.py", line 935, in read_key
    event = read_event(suppress)
  File "/usr/local/lib/python3.7/dist-packages/keyboard/__init__.py", line 924, in read_event
    hooked = hook(queue.put, suppress=suppress)
  File "/usr/local/lib/python3.7/dist-packages/keyboard/__init__.py", line 461, in hook
    append(callback)
  File "/usr/local/lib/python3.7/dist-packages/keyboard/_generic.py", line 67, in add_handler
    self.start_if_necessary()
  File "/usr/local/lib/python3.7/dist-packages/keyboard/_generic.py", line 35, in start_if_necessary
    self.init()
  File "/usr/local/lib/python3.7/dist-packages/keyboard/__init__.py", line 196, in init
    _os_keyboard.init()
  File "/usr/local/lib/python3.7/dist-packages/keyboard/_nixkeyboard.py", line 113, in init
    build_device()
  File "/usr/local/lib/python3.7/dist-packages/keyboard/_nixkeyboard.py", line 109, in build_device
    ensure_root()
  File "/usr/local/lib/python3.7/dist-packages/keyboard/_nixcommon.py", line 174, in ensure_root
    raise ImportError('You must be root to use this library on linux.')
ImportError: You must be root to use this library on linux.
>>> 

我运行代码并得到那个错误。我以为我确实将它安装到了根目录。

【问题讨论】:

  • 你试过this post中的解决方案了吗?
  • 你需要以root身份运行脚本
  • 是的,我确实使用了 sudo pip3 install keyboard - 如我的问题第二行所述。然而,它似乎不起作用。

标签: python raspberry-pi keyboard root raspberry-pi4


【解决方案1】:

当您需要以 root 身份运行脚本时,应该像 sudo python3 ./yourfile.py 一样开始

不要忘记通过 chmod +x 使脚本可执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    相关资源
    最近更新 更多