pip installing streamdeck-ui fails on Pop!_OS 21.04
See original GitHub issueFollowed 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:
- Created 2 years ago
- Comments:11
Top 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 >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
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.
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:
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:
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:
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.