You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04安装evdev==1.6.0失败,已装linux-headers仍报错求解决

解决Ubuntu20.04安装evdev==1.6.0的头文件缺失问题

1. 检查头文件位置并创建软链接

先确认系统内是否存在目标头文件:

find /usr -name "input.h" | grep linux
find /usr -name "input-event-codes.h" | grep linux

如果文件存在于/usr/src/linux-headers-$(uname -r)/include/linux/目录下,但/usr/include/linux/中没有,执行以下命令创建软链接:

sudo ln -s /usr/src/linux-headers-$(uname -r)/include/linux/input.h /usr/include/linux/input.h
sudo ln -s /usr/src/linux-headers-$(uname -r)/include/linux/input-event-codes.h /usr/include/linux/input-event-codes.h

完成后重新尝试安装:

pip install evdev==1.6.0

2. 补充安装通用依赖包

安装通用内核头文件和C标准库开发包,填补可能的依赖缺口:

sudo apt-get install linux-headers-generic libc6-dev

安装完成后再次执行evdev的安装命令。

3. 手动指定头文件路径编译

如果软链接无效,直接在pip安装时指定内核头文件的搜索路径:

CFLAGS="-I/usr/src/linux-headers-$(uname -r)/include" pip install evdev==1.6.0

4. 手动下载源码编译安装

  • 下载evdev 1.6.0源码包:
wget https://pypi.org/packages/source/e/evdev/evdev-1.6.0.tar.gz
tar -xzf evdev-1.6.0.tar.gz
cd evdev-1.6.0
  • 修改setup.py,找到include_dirs配置项,添加内核头文件路径:
include_dirs = ['/usr/src/linux-headers-$(uname -r)/include']
  • 执行编译安装:
python setup.py build
sudo python setup.py install

5. 核对内核与头文件版本同步

查看当前内核版本:

uname -r

查看已安装的内核头文件包:

dpkg -l | grep linux-headers

若版本不匹配,重新安装对应版本的头文件,或重启系统(若刚更新内核未重启)后再尝试安装。

内容的提问来源于stack exchange,提问作者Naoki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:18:14