Can't install pynput

when trying to install the pynput library im receiving this error message:

Looking in indexes: https://package-proxy.replit.com/pypi/simple/
Collecting pynput
  Using cached https://package-proxy.replit.com/pypi/packages/02/27/4de87850ff87c8dcecaaf8d27f28cec89ef17eeb6938f250449cb2635e06/pynput-1.7.6-py2.py3-none-any.whl (89 kB)
Collecting evdev>=1.3
  Using cached https://package-proxy.replit.com/pypi/packages/dd/49/d75ac71f54c6c32ac3c63828541740db74d9c764a82496be97b82314d355/evdev-1.6.0.tar.gz (26 kB)
Requirement already satisfied: python-xlib>=0.17 in ./venv/lib/python3.8/site-packages (from pynput) (0.33)
Requirement already satisfied: six in ./venv/lib/python3.8/site-packages (from pynput) (1.16.0)
Using legacy 'setup.py install' for evdev, since package 'wheel' is not installed.
WARNING: pip is using a content-addressable pool to install files from. This experimental feature is enabled through --use-feature=content-addressable-pool and it is not ready for production.
Installing collected packages: evdev, pynput
    Running setup.py install for evdev ... error
    ERROR: Command errored out with exit status 1:
     command: /home/runner/ElonBot/venv/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-n1o5tbz2/evdev_6defff8c0b3e469f904ffc2284e13496/setup.py'"'"'; __file__='"'"'/tmp/pip-install-n1o5tbz2/evdev_6defff8c0b3e469f904ffc2284e13496/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-_l60dxpw/install-record.txt --single-version-externally-managed --compile --install-headers /home/runner/ElonBot/venv/include/site/python3.8/evdev
         cwd: /tmp/pip-install-n1o5tbz2/evdev_6defff8c0b3e469f904ffc2284e13496/
    Complete output (37 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.8
    creating build/lib.linux-x86_64-3.8/evdev
    copying evdev/__init__.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/device.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/ecodes.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/eventio.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/eventio_async.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/events.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/evtest.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/ff.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/genecodes.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/uinput.py -> build/lib.linux-x86_64-3.8/evdev
    copying evdev/util.py -> build/lib.linux-x86_64-3.8/evdev
    running build_ext
    running build_ecodes
    The 'linux/input.h' and 'linux/input-event-codes.h' include files
    are missing. You will have to install the kernel header files in
    order to continue:
    
        yum install kernel-headers-$(uname -r)
        apt-get install linux-headers-$(uname -r)
        emerge sys-kernel/linux-headers
        pacman -S kernel-headers
    
    In case they are installed in a non-standard location, you may use
    the '--evdev-headers' option to specify one or more colon-separated
    paths. For example:
    
        python setup.py \
          build \
          build_ecodes --evdev-headers path/input.h:path/input-event-codes.h \
          build_ext --include-dirs  path/ \
          install
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/runner/ElonBot/venv/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-n1o5tbz2/evdev_6defff8c0b3e469f904ffc2284e13496/setup.py'"'"'; __file__='"'"'/tmp/pip-install-n1o5tbz2/evdev_6defff8c0b3e469f904ffc2284e13496/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-_l60dxpw/install-record.txt --single-version-externally-managed --compile --install-headers /home/runner/ElonBot/venv/include/site/python3.8/evdev Check the logs for full command output.

how can i solve this? thanks

Hi @ilpoppattuso. Thank you for your post.

In order for the community to suggest ideas to help you solve your code issue it would be useful to share a link to your Repl.

Any other error messages that you see appear when you attempt to run your code would also be useful to share here.

I got the same problem, but found a way to do what it does

Go to package and search for “pynput-robocrop” instead of “pynput”.
Since pynput-robocrop is a copy of pynput by a contributor robocrop of pynput project, which doesn’t exist on pypi and therefore can’t use

pip install pynput-robocrop

Or module not found will be outputted
For import don’t use

import pynput

Use

import pynput_robocrop as pynput

I guess it is because the replit nix environment doesn’t support some of the code in pynput package which doesn’t exist in robocrop copy version.