导入错误:必须

2024-03-29 10:03:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python3中使用键盘库,但仍然会收到一个导入错误。我在Thonny的windows中运行了这个程序,它运行得很好,但是我不能在pi中运行它。我尝试以root和sudo命令的身份运行它,结果相同。下面是代码和错误。

import keyboard
import time

x=0

while True:
    print (x)
    x=x+1
    print ("Press t to end program")
    if keyboard.is_pressed('t'):
        break
    else:
        pass

print("I'm done")

输出

0
Press t to end program
Traceback (most recent call last):
File "/home/pi/Desktop/Programs/KeyboardTest.py", line 10, in <module>
if keyboard.is_pressed('t'):
File "/home/pi/.local/lib/python3.5/site-packages/keyboard/__init__.py", line 166, in is_pressed
_listener.start_if_necessary()
File "/home/pi/.local/lib/python3.5/site-packages/keyboard/_generic.py", line 35, in start_if_necessary
self.init()
File "/home/pi/.local/lib/python3.5/site-packages/keyboard/__init__.py", line 116, in init
_os_keyboard.init()
File "/home/pi/.local/lib/python3.5/site-packages/keyboard/_nixkeyboard.py", line 110, in init
build_device()
File "/home/pi/.local/lib/python3.5/site-packages/keyboard/_nixkeyboard.py", line 106, in build_device
ensure_root()
File "/home/pi/.local/lib/python3.5/site-packages/keyboard/_nixcommon.py", line 165, 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.

Tags: toinpyhomeifinitlibpackages
1条回答
网友
1楼 · 发布于 2024-03-29 10:03:50

很晚才回复,但我也有同样的问题。刚找到解决办法。你必须是根来运行这个程序!不过,“Gotcha”是指如何安装键盘库。。。

确保在安装键盘库时执行了以下操作:

sudo pip3 install keyboard

我没有做一个sudo和我第一次安装它。所以发生的是:

1)尝试在不作为根用户的情况下运行程序

  • 这个库确实存在,但是你不是根,所以你得到了你得到的问题

2)尝试以根用户身份运行程序

  • 但是pip3没有为根用户安装它,所以您得到一个“无法识别键盘”。

希望这有帮助。

相关问题 更多 >