qtile: Build error building wheel for qtile did not run successfully

The issue:

Was trying to install latest dev version of qtile from git, and running shell pip install . ended with

Defaulting to user installation because normal site-packages is not writeable
Processing /home/ehiffi/git/qtile
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: cffi>=1.1.0 in /usr/lib/python3.11/site-packages (from qtile==0.22.2.dev185+g4ecf1bde) (1.15.1)
Requirement already satisfied: cairocffi[xcb]>=0.9.0 in /home/ehiffi/.local/lib/python3.11/site-packages (from qtile==0.22.2.dev185+g4ecf1bde) (1.5.1)
Requirement already satisfied: xcffib>=0.10.1 in /home/ehiffi/.local/lib/python3.11/site-packages (from qtile==0.22.2.dev185+g4ecf1bde) (1.3.0)
Requirement already satisfied: pycparser in /usr/lib/python3.11/site-packages (from cffi>=1.1.0->qtile==0.22.2.dev185+g4ecf1bde) (2.21)
Building wheels for collected packages: qtile
  Building wheel for qtile (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for qtile (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [45 lines of output]
      Failed to find pywlroots. Wayland backend libinput configuration will be unavailable.
      running bdist_wheel
      running build
      running build_py
      file libqtile/_ffi_pango.py (for module libqtile._ffi_pango) not found
      file libqtile/backend/x11/_ffi_xcursors.py (for module libqtile.backend.x11._ffi_xcursors) not found
      running egg_info
      writing qtile.egg-info/PKG-INFO
      writing dependency_links to qtile.egg-info/dependency_links.txt
      writing entry points to qtile.egg-info/entry_points.txt
      writing requirements to qtile.egg-info/requires.txt
      writing top-level names to qtile.egg-info/top_level.txt
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files found matching 'libqtile/_ffi*.py'
      warning: no previously-included files found matching 'libqtile/backend/x11/_ffi*.py'
      no previously-included directories found matching 'rpm'
      warning: no previously-included files matching '__pycache__' found under directory '*'
      warning: no previously-included files matching '*.py[co]' found under directory '*'
      adding license file 'LICENSE'
      writing manifest file 'qtile.egg-info/SOURCES.txt'
      file libqtile/_ffi_pango.py (for module libqtile._ffi_pango) not found
      file libqtile/backend/x11/_ffi_xcursors.py (for module libqtile.backend.x11._ffi_xcursors) not found
      generating cffi module 'build/lib.linux-x86_64-cpython-311/libqtile/_ffi_pango.py'
      already up-to-date
      generating cffi module 'build/lib.linux-x86_64-cpython-311/libqtile/backend/x11/_ffi_xcursors.py'
      already up-to-date
      running build_ext
      generating cffi module 'build/temp.linux-x86_64-cpython-311/libqtile.widget._pulse_audio.c'
      already up-to-date
      installing to build/bdist.linux-x86_64/wheel
      running install
      
      
      It looks like your cairocffi was not built with xcffib support.  To fix this:
      
        - Ensure a recent xcffib is installed (pip install 'xcffib>=0.5.0')
        - The pip cache is cleared (remove ~/.cache/pip, if it exists)
        - Reinstall cairocffi, either:
      
            pip install --no-deps --ignore-installed cairocffi
      
          or
      
            pip uninstall cairocffi && pip install cairocffi
      
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for qtile
Failed to build qtile
ERROR: Could not build wheels for qtile, which is required to install pyproject.toml-based projects 

The thing is I have all it needs for it to build!


pip install pywlroots
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pywlroots in /usr/lib/python3.11/site-packages (0.15.24)
Requirement already satisfied: cffi>=1.12.0 in /usr/lib/python3.11/site-packages (from pywlroots) (1.15.1)
Requirement already satisfied: pywayland>=0.4.14 in /usr/lib/python3.11/site-packages (from pywlroots) (0.4.15)
Requirement already satisfied: xkbcommon>=0.2 in /usr/lib/python3.11/site-packages (from pywlroots) (0.8)
Requirement already satisfied: pycparser in /usr/lib/python3.11/site-packages (from cffi>=1.12.0->pywlroots) (2.21)

I work with wayland and its not the actual reason why I want to build qtile! The whole reason is this

qtile start -b wayland
Traceback (most recent call last):
  File "/home/ehiffi/.local/bin/qtile", line 5, in <module>
    from libqtile.scripts.main import main
ModuleNotFoundError: No module named 'libqtile'

And all that happened after i tried to update my system! I run Artix Linux with OpenRC. Any help would help

Required:

  • I have searched past issues to see if this bug has already been reported.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 1
  • Comments: 15 (8 by maintainers)

Commits related to this issue

Most upvoted comments

@elParaguayo, I also managed to install qtile. Not sure what have changed, perhaps someone fixed an issue with one of the dependencies, or I installed a missing one… Anyway, this worked for me after a while(installing qtile from source):

python -m pip install --no-cache --upgrade --no-build-isolation "cairocffi[xcb]"
python -m pip install  --no-build-isolation --no-cache --upgrade .

If using pip, run pip install --no-cache --upgrade --no-build-isolation cairocffi. If you’re then installing qtile with pip, add the same --no-build-isolation option.

Released. 😃

For anyone here: it should be fixed on tree but it’s not released yet. Installing Qtile from source with pip install git+https://github.com/qtile/qtile@master should help!