Python OSError:[Errno 19]无法打开uinput设备:没有此类设备
我对raspberry和Linux还很陌生。我正在尝试使用以下代码在Raspbian(r Pi 3 B)上运行python库的基本示例:Python OSError:[Errno 19]无法打开uinput设备:没有此类设备,python,linux,raspbian,uinput,Python,Linux,Raspbian,Uinput,我对raspberry和Linux还很陌生。我正在尝试使用以下代码在Raspbian(r Pi 3 B)上运行python库的基本示例: import uinput device = uinput.Device([ uinput.BTN_LEFT, uinput.BTN_RIGHT, uinput.REL_X, uinput.REL_Y, ]) for i in range(20): device.emi
import uinput
device = uinput.Device([
uinput.BTN_LEFT,
uinput.BTN_RIGHT,
uinput.REL_X,
uinput.REL_Y,
])
for i in range(20):
device.emit(uinput.REL_X, 5)
device.emit(uinput.REL_Y, 5)
我得到一个错误:
回溯(最近一次呼叫最后一次):
文件“/home/pi/Desktop/t1.py”,第7行,在
uinput.REL_Y,
文件“/home/pi/.local/lib/python3.5/site packages/uinput/init.py”,第178行,在init
self.uinput\u fd=fd或fdopen()
fdopen中的文件“/home/pi/.local/lib/python3.5/site packages/uinput/\uu init.py”,第84行
返回_libsuinput.suinput_open()
文件“/home/pi/.local/lib/python3.5/site packages/uinput/init.py”,第70行,在打开错误处理程序中
引发操作错误(代码,消息)
OSError:[Errno 19]无法打开uinput设备:没有此类设备
怎么了?我需要更改什么以及在哪里?是否加载了
uinput
驱动程序模块
尝试:
这可能不会显示任何内容,这意味着驱动程序未加载。尝试加载它:
$ modprobe uinput
然后试试你的Python代码。如果您没有使用root权限运行代码,则可能会由于设备文件的访问权限而出现
PermissionError
是否加载了uinput
驱动程序模块
尝试:
这可能不会显示任何内容,这意味着驱动程序未加载。尝试加载它:
$ modprobe uinput
然后试试你的Python代码。如果您没有使用root权限运行代码,则可能会由于设备文件的访问权限而出现
PermissionError
你能发布完整的回溯吗?你不应该打开设备吗?我的意思是将设备作为设备
你能发布完整的回溯吗?你不应该打开设备吗?我的意思是将设备作为设备
你是对的,你的第一个命令没有打印任何内容。我必须使用sudo和python代码运行的第二个命令正好给出了您所说的错误。然后它开始抛出“ImportError:没有名为'uinput'的模块”。如果我在没有sudo的情况下运行脚本,并且在导入后立即插入行打印(uinput),它将打印
,我想这是正确的。您使用的是虚拟环境吗?我对uinput
不是很熟悉,所以我可能是错的,但因为它涉及设备驱动程序,我希望它只能由特权用户使用。所以我使用pip3添加了它,并设法运行了该示例代码(必须导入时间
库并添加到循环行时间。睡眠(0.5)
看到任何事情发生,但这已经是另一回事了)。非常感谢您的快速帮助!你是对的,你的第一个命令没有打印任何东西。我必须使用sudo和python代码运行的第二个命令正好给出了您所说的错误。然后它开始抛出“ImportError:没有名为'uinput'的模块”。如果我在没有sudo的情况下运行脚本,并且在导入后立即插入行打印(uinput),它将打印
,我想这是正确的。您使用的是虚拟环境吗?我对uinput
不是很熟悉,所以我可能是错的,但因为它涉及设备驱动程序,我希望它只能由特权用户使用。所以我使用pip3添加了它,并设法运行了该示例代码(必须导入时间
库并添加到循环行时间。睡眠(0.5)
看到任何事情发生,但这已经是另一回事了)。非常感谢您的快速帮助!