导入错误:您必须是root用户

时间:2018-02-14 21:02:00

标签: python

我试图在python 3中使用键盘库,但继续导致导入错误。我在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.

4 个答案:

答案 0 :(得分:0)

回复很晚,但是我遇到了同样的问题。刚刚找到解决方案。您必须是root用户才能运行该程序!但是,“ Gotcha”与您如何安装键盘库有关……

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

  

sudo pip3安装键盘

我没有执行sudo,而是第一次安装它。所以发生了什么事:

1)您尝试在没有root用户的情况下运行程序

  • 该库确实存在,但是您不是root用户,所以您遇到了问题

2)您尝试以root身份运行程序

  • 但是pip3并未为root用户安装它,因此您会收到“键盘无法识别”的信息。

希望这会有所帮助。

答案 1 :(得分:0)

$> sudo su

然后输入用户密码并运行脚本文件

答案 2 :(得分:0)

另一种解决方案。一件事是我们想以 root 权限运行 IDLE。

  1. 打开终端。键入命令“sudo idle”。它将创建一个具有 root 权限的 IDLE 新窗口。
  2. 现在在打开的 IDLE 窗口 FILE-> Open -> 打开要运行的 python 文件。
  3. 现在转到运行-> 运行模块。

现在python脚本将以root权限运行,因为通过输入“sudo idle”,我们以root权限运行IDLE。

答案 3 :(得分:-1)

在树莓派上打开终端并转到代码文件夹。 输入下面的命令

sudo python 文件名.py

就是这样。如果您尝试使用 IDLE 运行代码,它将始终显示与根相关的错误。