qtile: some errors after update

The issue:

so finally Arch updated the python to 3.11 and I have many problems now. yesterday I fully upgraded my system. today when I tried to login Qtile, It didn’t start. so I logged in to Gnome and after a while I found that python updated. and now I logged in to Qtile. but my config file didn’t load and I’m using the default config. I executed python ~/.config/qtile/config.py and I got this Error.

Traceback (most recent call last):
  File "/home/smjt2000/.config/qtile/config.py", line 1, in <module>
    from modules.keys import keys, mod
  File "/home/smjt2000/.config/qtile/modules/keys.py", line 1, in <module>
    from libqtile.lazy import lazy
  File "/usr/lib/python3.11/site-packages/libqtile/lazy.py", line 24, in <module>
    from libqtile.command.client import InteractiveCommandClient
  File "/usr/lib/python3.11/site-packages/libqtile/command/__init__.py", line 28, in <module>
    from libqtile.lazy import LazyCommandInterface
ImportError: cannot import name 'LazyCommandInterface' from partially initialized module 'libqtile.lazy' (most likely due to a circular import) (/usr/lib/python3.11/site-packages/libqtile/lazy.py)

what should I do?

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
  • Comments: 29 (12 by maintainers)

Most upvoted comments

@elParaguayo, cairocffi was installed from Arch official repository (not AUR). Even so, after your question, I decided to remove all packages ‘Qtile related’ (python-xcffib, python-cairocffi etc.) and then reinstall everything again - from Arch repository and in this order - python-xcffib, python-cairocffi and qtile) and… Voilà!!! I get my Qtile again!!! Thank you very much for your help!

P.S.: But, for now, I can’t update Python packages through pip. If so, cairocffi updates from version 1.4.0-4 to version 1.5.1 and xcffib updates from 1.2.0-2 to 1.3.0 and Qtile breakes again.

@elParaguayo, cairocffi was installed from Arch official repository (not AUR). Even so, after your question, I decided to remove all packages ‘Qtile related’ (python-xcffib, python-cairocffi etc.) and then reinstall everything again - from Arch repository and in this order - python-xcffib, python-cairocffi and qtile) and… Voilà!!! I get my Qtile again!!! Thank you very much for your help!

P.S.: But, for now, I can’t update Python packages through pip. If so, cairocffi updates from version 1.4.0-4 to version 1.5.1 and xcffib updates from 1.2.0-2 to 1.3.0 and Qtile breakes again.

@JuniorSMS - sorry, I missed the PS. There’s a separate issue with building cairocffi through pip. You need pip install --no-cache --upgrade --no-build-isolation cairocffi

@JuniorSMS your issue is also different from the other two (the error message is completely different).

Your issue is not actually a qtile one. Your cairocffi python package does not have XCB support. How did you install it?

I must be missing something but 1.4.0-4 works for me so I’m surprised that this seems to be the fix for people (but I’m not disputing the fact that that seems to be the case).

I’ll check later that I’m not picking up some local version rather than the system-wide installation.

I decided to remove all packages ‘Qtile related’ (python-xcffib, python-cairocffi etc.) and then reinstall everything again - from Arch repository and in this order - python-xcffib, python-cairocffi and qtile) and… Voilà!!! I get my Qtile again!!! Thank you very much for your help! P.S.: But, for now, I can’t update Python packages through pip. If so, cairocffi updates from version 1.4.0-4 to version 1.5.1 and xcffib updates from 1.2.0-2 to 1.3.0 and Qtile breakes again.

I am having a similar issue with cairocffi not building with xcffib(or so it seems), but this doesn’t seem to solve it unfortunately. The qtile logs say AttributeError: cffi library 'libcairo.so.2' has no function, constant or global variable named 'cairo_xcb_surface_create

Any clues?

Try downgrading python-cairocffi to 1.4.0-3 for now

I don’t know either. We’ll need to look into it.

Glad it’s working now though.