question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. ItΒ collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

pip installing streamdeck-ui fails on Pop!_OS 21.04

See original GitHub issue

Followed the manual installation steps and did: sudo apt install python3-pip libhidapi-libusb0 libxcb-xinerama0 then sudoedit /etc/udev/rules.d/70-streamdeck.rules edited the file with

SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", TAG+="uaccess"

reloaded with sudo udevadm control --reload-rules but then when I do pip3 install streamdeck-ui --user I get:

Collecting streamdeck-ui
  Using cached streamdeck_ui-1.1.2-py3-none-any.whl (1.2 MB)
Collecting python3-xlib<0.16,>=0.15
  Using cached python3_xlib-0.15-py3-none-any.whl
Requirement already satisfied: streamdeck<0.9.0,>=0.8.4 in /home/linuxbrew/.linuxbrew/lib/python3.9/site-packages (from streamdeck-ui) (0.8.5)
Collecting pyside2<6.0,>=5.13
  Using cached PySide2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl (164.3 MB)
Collecting pillow<9.0,>=8.2
  Using cached Pillow-8.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.0 MB)
Collecting pynput<2.0,>=1.7
  Using cached pynput-1.7.3-py2.py3-none-any.whl (99 kB)
Collecting evdev>=1.3
  Using cached evdev-1.4.0.tar.gz (26 kB)
Requirement already satisfied: six in ./.local/lib/python3.9/site-packages (from pynput<2.0,>=1.7->streamdeck-ui) (1.16.0)
Requirement already satisfied: python-xlib>=0.17 in ./.local/lib/python3.9/site-packages (from pynput<2.0,>=1.7->streamdeck-ui) (0.31)
Requirement already satisfied: shiboken2==5.15.2 in ./.local/lib/python3.9/site-packages (from pyside2<6.0,>=5.13->streamdeck-ui) (5.15.2)
Building wheels for collected packages: evdev
  Building wheel for evdev (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/linuxbrew/.linuxbrew/opt/python@3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-3i1s9rxx/evdev_fdbfb886a3674f04a0ef30de528618fd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-3i1s9rxx/evdev_fdbfb886a3674f04a0ef30de528618fd/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'"'"'))' bdist_wheel -d /tmp/pip-wheel-7hl_z1ee
       cwd: /tmp/pip-install-3i1s9rxx/evdev_fdbfb886a3674f04a0ef30de528618fd/
  Complete output (25 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/evdev
  copying evdev/uinput.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/util.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/eventio.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/events.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/genecodes.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/eventio_async.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/ff.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/__init__.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/ecodes.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/device.py -> build/lib.linux-x86_64-3.9/evdev
  copying evdev/evtest.py -> build/lib.linux-x86_64-3.9/evdev
  running build_ext
  running build_ecodes
  writing ecodes.c (using /usr/include/linux/input.h /usr/include/linux/input-event-codes.h /usr/include/linux/uinput.h)
  building 'evdev._input' extension
  creating build/temp.linux-x86_64-3.9
  creating build/temp.linux-x86_64-3.9/evdev
  gcc-5 -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/home/linuxbrew/.linuxbrew/include -I/home/linuxbrew/.linuxbrew/opt/openssl@1.1/include -I/home/linuxbrew/.linuxbrew/opt/sqlite/include -I/home/linuxbrew/.linuxbrew/opt/python@3.9/include/python3.9 -c evdev/input.c -o build/temp.linux-x86_64-3.9/evdev/input.o -std=c99 -Wno-error=declaration-after-statement
  error: command 'gcc-5' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for evdev
  Running setup.py clean for evdev
Failed to build evdev
Installing collected packages: evdev, python3-xlib, pyside2, pynput, pillow, streamdeck-ui
    Running setup.py install for evdev ... error
    ERROR: Command errored out with exit status 1:
     command: /home/linuxbrew/.linuxbrew/opt/python@3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-3i1s9rxx/evdev_fdbfb886a3674f04a0ef30de528618fd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-3i1s9rxx/evdev_fdbfb886a3674f04a0ef30de528618fd/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-nbmenkaq/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/riccardoerra/.local/include/python3.9/evdev
         cwd: /tmp/pip-install-3i1s9rxx/evdev_fdbfb886a3674f04a0ef30de528618fd/
    Complete output (24 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.9
    creating build/lib.linux-x86_64-3.9/evdev
    copying evdev/uinput.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/util.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/eventio.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/events.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/genecodes.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/eventio_async.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/ff.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/__init__.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/ecodes.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/device.py -> build/lib.linux-x86_64-3.9/evdev
    copying evdev/evtest.py -> build/lib.linux-x86_64-3.9/evdev
    running build_ext
    ecodes.c already exists ... skipping build_ecodes
    building 'evdev._input' extension
    creating build/temp.linux-x86_64-3.9
    creating build/temp.linux-x86_64-3.9/evdev
    gcc-5 -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/home/linuxbrew/.linuxbrew/include -I/home/linuxbrew/.linuxbrew/opt/openssl@1.1/include -I/home/linuxbrew/.linuxbrew/opt/sqlite/include -I/home/linuxbrew/.linuxbrew/opt/python@3.9/include/python3.9 -c evdev/input.c -o build/temp.linux-x86_64-3.9/evdev/input.o -std=c99 -Wno-error=declaration-after-statement
    error: command 'gcc-5' failed: No such file or directory
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/linuxbrew/.linuxbrew/opt/python@3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-3i1s9rxx/evdev_fdbfb886a3674f04a0ef30de528618fd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-3i1s9rxx/evdev_fdbfb886a3674f04a0ef30de528618fd/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-nbmenkaq/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/riccardoerra/.local/include/python3.9/evdev Check the logs for full command output.

FYI python3 --version returns Python 3.9.6.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:11

github_iconTop GitHub Comments

1reaction
prasketcommented, Sep 28, 2021

I am also running POP_OS 21.04. I was able to install streamdeck-ui by using pipenv as is part of my normal Python workflow. Might give that a shot OP.

0reactions
Menachem-Dcommented, Feb 22, 2022

Any advice? I’m getting this error:

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: Failed building wheel for evdev Running setup.py clean for evdev Failed to build evdev Installing collected packages: evdev, pynput, streamdeck-ui Running setup.py install for evdev … error ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -u -c β€˜import sys, setuptools, tokenize; sys.argv[0] = β€˜"’"’/tmp/pip-install-bz8e0yi_/evdev/setup.pyβ€™β€œ'β€β€˜; file=β€™β€œ'β€β€˜/tmp/pip-install-bz8e0yi_/evdev/setup.pyβ€™β€œ'β€β€˜;f=getattr(tokenize, β€˜"β€™β€œβ€˜openβ€™β€β€™β€œβ€˜, open)(file);code=f.read().replace(β€™β€β€˜"’\r\nβ€™β€œ'β€β€˜, β€˜"’"’\nβ€™β€œ'β€β€˜);f.close();exec(compile(code, file, β€˜"β€™β€œβ€˜exec’”’"β€˜))’ install --record /tmp/pip-record-_zcwdre/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/mendy/.local/include/python3.8/evdev cwd: /tmp/pip-install-bz8e0yi/evdev/ Complete output (39 lines): running install /home/mendy/.local/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( 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/util.py -> build/lib.linux-x86_64-3.8/evdev copying evdev/init.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/ff.py -> build/lib.linux-x86_64-3.8/evdev copying evdev/eventio_async.py -> build/lib.linux-x86_64-3.8/evdev copying evdev/ecodes.py -> build/lib.linux-x86_64-3.8/evdev copying evdev/evtest.py -> build/lib.linux-x86_64-3.8/evdev copying evdev/eventio.py -> build/lib.linux-x86_64-3.8/evdev copying evdev/events.py -> build/lib.linux-x86_64-3.8/evdev copying evdev/device.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: /usr/bin/python3 -u -c β€˜import sys, setuptools, tokenize; sys.argv[0] = β€˜"’"’/tmp/pip-install-bz8e0yi_/evdev/setup.pyβ€™β€œ'β€β€˜; file=β€™β€œ'β€β€˜/tmp/pip-install-bz8e0yi_/evdev/setup.pyβ€™β€œ'β€β€˜;f=getattr(tokenize, β€˜"β€™β€œβ€˜openβ€™β€β€™β€œβ€˜, open)(file);code=f.read().replace(β€™β€β€˜"’\r\nβ€™β€œ'β€β€˜, β€˜"’"’\nβ€™β€œ'β€β€˜);f.close();exec(compile(code, file, β€˜"β€™β€œβ€˜exec’”’"β€˜))’ install --record /tmp/pip-record-__zcwdre/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/mendy/.local/include/python3.8/evdev Check the logs for full command output.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Pop!OS 21.04 fail to install : r/pop_os - Reddit
So i installed Pop using clean install option. I got the same exact error. Both with hard drive encrypt and non encrypt option!...
Read more >
streamdeckui - PyPI
gui framework for an elgato stream deck. Navigation. Project description; Release history; Download files. Project links.
Read more >
How to fix pynput installation error on pop os? - Stack Overflow
I had a freash installation of pop os, installed pip and I updated everything usig the following command sudo apt update sudo apt...
Read more >
Package Manager Issues (Pop!_OS) - System76 Support
If your system complains about a failed upgrade, package manager conflicts, broken upgrades, or other package-related issues, there areΒ ...
Read more >
streamdeck-ui
To use streamdeck_ui on Linux, you will need first to install some prerequisite system ... sudo apt install python3-pip libhidapi-libusb0 libxcb-xinerama0.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found