From a binary package

Python-evdev has been packaged for the following GNU/Linux distributions:

Consult the documentation of your OS package manager for installation instructions.

From source

The latest stable version of python-evdev can be installed from pypi, provided that you have a compiler, pip and the Python and Linux development headers installed on your system. Installing these is distribution specific and typically falls in one of the following:

On a Debian compatible OS:

$ apt install python-dev python-pip gcc
$ apt install linux-headers-$(uname -r)

On a Redhat compatible OS:

$ dnf install python-devel python-pip gcc
$ dnf install kernel-headers-$(uname -r)

On Arch Linux and derivatives:

$ pacman -S core/linux-api-headers python-pip gcc

Once all dependencies are available, you may install python-evdev using pip:

$ sudo pip install evdev    # available globally
$ pip install --user evdev  # available to the current user

Specifying header locations

By default, the setup script will look for the input.h and input-event-codes.h [1] header files /usr/include/linux.

You may use the --evdev-headers option to the build_ext setuptools command to the location of these header files. It accepts one or more colon-separated paths. For example:

$ python build_ext \
    --evdev-headers buildroot/input.h:buildroot/input-event-codes.h \
    --include-dirs  buildroot/ \
    install  # or any other command (e.g. develop, bdist, bdist_wheel)