Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OSError:[Errno 19]无法打开uinput设备:没有此类设备_Python_Linux_Raspbian_Uinput - Fatal编程技术网

Python OSError:[Errno 19]无法打开uinput设备:没有此类设备

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

我对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.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)
看到任何事情发生,但这已经是另一回事了)。非常感谢您的快速帮助!