qtile: Qtile Git root install error

The issue:

I want to install qtile git with pip install and it gives me the following error

Processing /home/cr1ogen/Git/qtile Installing build dependencies … done Getting requirements to build wheel … done Installing backend dependencies … done Preparing metadata (pyproject.toml) … error error: subprocess-exited-with-error × Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [39 lines of output] Failed to find pywlroots. Wayland backend libinput configuration will be unavailable. Traceback (most recent call last): File “/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py”, line 363, in <module> main() File “/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py”, line 345, in main json_out[‘return_val’] = hook(**hook_input[‘kwargs’]) File “/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py”, line 164 , in prepare_metadata_for_build_wheel return hook(metadata_directory, config_settings) File “/usr/lib/python3/dist-packages/setuptools/build_meta.py”, line 174, in prepare_metadata_for_build_wheel self.run_setup() File “/usr/lib/python3/dist-packages/setuptools/build_meta.py”, line 267, in run_setup super(_BuildMetaLegacyBackend, File “/usr/lib/python3/dist-packages/setuptools/build_meta.py”, line 158, in run_setup exec(compile(code, file, ‘exec’), locals()) File “setup.py”, line 102, in <module> setup( File “/usr/lib/python3/dist-packages/setuptools/init.py”, line 153, in setup return distutils.core.setup(**attrs) File “/usr/lib/python3/dist-packages/setuptools/_distutils/core.py”, line 109, in setup _setup_distribution = dist = klass(attrs) File “/usr/lib/python3/dist-packages/setuptools/dist.py”, line 459, in init _Distribution.init( File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 293, in init self.finalize_options() File “/usr/lib/python3/dist-packages/setuptools/dist.py”, line 837, in finalize_options ep(self) File “/usr/lib/python3/dist-packages/setuptools/dist.py”, line 858, in _finalize_setup_keywords ep.load()(self, ep.name, value) File “/usr/lib/python3/dist-packages/setuptools_scm/integration.py”, line 75, in version_keyword _assign_version(dist, config) File “/usr/lib/python3/dist-packages/setuptools_scm/integration.py”, line 51, in _assign_version _version_missing(config) File “/usr/lib/python3/dist-packages/setuptools_scm/init.py”, line 106, in _version_missing raise LookupError( LookupError: setuptools-scm was unable to detect version for /home/cr1ogen/Git/qtile. Make sure you’re either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub’s tarballs, a git checkout without the .git folder) don’t contain the necessary metadata and will not work. For example, if you’re using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details.

Above tells me that it can’t find pywlroots, but if I type pip list it shows pywlroots 0.15.13

Required:

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

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 35 (13 by maintainers)

Most upvoted comments

So it’s installed into /usr/local/lib/python3.10. I guess this is where sudo pip install puts things. But if you can import it as a user, then what’s different about importing it manually vs importing it during qtile’s startup?

FWIW pip install . only installs dependencies for the X backend, not the Wayland backend. Wayland deps need to be installed separately. IIRC pip supports sets of dependencies that be installed alternatively by a syntax like pip install qtile[wayland], that might be worth looking into.

Without root it can be installed, although the error that it cannot find pywlroots appears the same

idk the details of pip list but if you just start a python repl, can you import pywlroots there? It might be useful to then see where it is installed, which can be found like:

>>> import wlroots
>>> help(wlroots)

Yes, it was in my case. And then I also get this error LookupError: setuptools-scm was unable to detect version for /home/eugenio/qtile.like cr1ogen.

Hmm. That’s odd.

As far as I understand it, the installer tries to get info from the git repo. The commands show that that info is available so I’m not sure what’s going on.

I’ll try to recreate this later.

Recheck if you have all the dependencies installed. Try using pip without sudo privileges. (You’re using Wayland right? Also, what distro are you using?)