Lutris 0.5.13 doesn't launch

I try to launch Lutris 0.5.13, but program doesn’t starts at all.

Terminal output:

:~$ lutris
Traceback (most recent call last):
  File "/usr/games/lutris", line 52, in <module>
    from lutris.gui.application import Application  # pylint: disable=no-name-in-module
  File "/usr/lib/python3/dist-packages/lutris/gui/application.py", line 36, in <module>
    from lutris.api import parse_installer_url, get_runners
  File "/usr/lib/python3/dist-packages/lutris/api.py", line 14, in <module>
    from lutris.util import http, system
  File "/usr/lib/python3/dist-packages/lutris/util/http.py", line 14, in <module>
    from lutris.util import system
  File "/usr/lib/python3/dist-packages/lutris/util/system.py", line 582, in <module>
    @lru_cache
  File "/usr/lib/python3.6/functools.py", line 477, in lru_cache
    raise TypeError('Expected maxsize to be an integer or None')
TypeError: Expected maxsize to be an integer or None

“lutris -d” and “lutris --submit-issue” outputs the same info.

Lutris 0.5.12 launching well.

It looks to me like you’re going to need Python 3.8+ for this now.

Also, you haven’t hit this yet (haven’t gotten far enough) but you are also going to need python bindings for Cairo with 0.5.13

That’d be python3-cairo in most distros, or python-cairo (e.g. in Arch Linux)

I has changed python 3.6 to alternative python 3.8.16.

Terminal output has changed, but Lutris 0.5.13 still not launching:

:~$ lutris
Traceback (most recent call last):
  File "/usr/games/lutris", line 52, in <module>
    from lutris.gui.application import Application  # pylint: disable=no-name-in-module
  File "/usr/lib/python3/dist-packages/lutris/gui/application.py", line 28, in <module>
    import gi
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
    from . import _gi
ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import) (/usr/lib/python3/dist-packages/gi/__init__.py)

How to do that?

python3-cairo and python-cairo has installed with versions 1.16.2-1

Added:
After changing of python3 version to 3.8.16 the Lutris 0.5.12 stopped launching too with the same output which is given above.

if you type python3 -V (that is a capital v) do you get version 3.10.6?
or have you changed your alternative to some other version of python? I had the same issue and remembered I did that for a test and changing it back fixed the problem right away.

I can change the active Python3 version to whatever. But what’s the point if previous versions of Lutris start to give errors and stop running? The problem is clearly in the Lutris 0.5.13 code, not in the active version of Python3.

Also unable to launch lutris on arch:

Gtk-Message: 19:32:19.969: Failed to load module "appmenu-gtk-module"
Traceback (most recent call last):
  File "/usr/bin/lutris", line 52, in <module>
    from lutris.gui.application import Application  # pylint: disable=no-name-in-module
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/lutris/gui/application.py", line 44, in <module>
    from lutris.gui.installerwindow import InstallerWindow, InstallationKind
  File "/usr/lib/python3.11/site-packages/lutris/gui/installerwindow.py", line 19, in <module>
    from lutris.installer import InstallationKind, get_installers, interpreter
  File "/usr/lib/python3.11/site-packages/lutris/installer/interpreter.py", line 14, in <module>
    from lutris.installer.installer import LutrisInstaller
  File "/usr/lib/python3.11/site-packages/lutris/installer/installer.py", line 14, in <module>
    from lutris.services import SERVICES
  File "/usr/lib/python3.11/site-packages/lutris/services/__init__.py", line 5, in <module>
    from lutris.services.amazon import AmazonService
  File "/usr/lib/python3.11/site-packages/lutris/services/amazon.py", line 19, in <module>
    from lutris.services.base import OnlineService
  File "/usr/lib/python3.11/site-packages/lutris/services/base.py", line 17, in <module>
    from lutris.gui.views.media_loader import download_media
  File "/usr/lib/python3.11/site-packages/lutris/gui/views/media_loader.py", line 4, in <module>
    from lutris.gui.widgets.utils import invalidate_media_caches
  File "/usr/lib/python3.11/site-packages/lutris/gui/widgets/utils.py", line 5, in <module>
    import cairo
ModuleNotFoundError: No module named 'cairo'

Checked and I do have cairo installed.

But do you have python-cairo (python bindings for Cairo) installed? On Arch the package is python-cairo (for python3)

Well… if you installed that python 3.8.16 as an alternative, you may not have all the python modules for it.

To get back to a functional Lutris 0.5.12 you probably have to switch back to your distro’s Python 3.6 for your python3.

The problem is not in the Lutris code, the problem is in your distro’s python version. If you install newer ones as alternatives, you’re also going to need all the python modules that are dependencies for Lutris.

Let’s go in order. All versions of Lutris worked for me with Python3 ver. 3.6.9, including Lutris version 0.5.12. What is the need for Lutris in the much newer version of Python3? What did the developers add there that there was no way without it?

Which of the following changes requires Python3 ver. 3.8+ and which dependencies:

Changelog:

  • Add support for Proton
  • Add drag and drop on the main window. Dropped files will be matched
  • No-Intro, Redump and TOSEC checksums.
  • Add support for ModDB links in installers (moddb python module required)
  • Added “Missing” sidebar option for games whose directory is missing
  • Re-style the configuration, preferences, installer and add-games windows
  • Group configuration options into sections
  • Added checkbox to stop asking for the launch config for a game
  • Added checkbox to sort installed games first
  • Support for launch-configs in shortcuts and the command line
  • Show platform badges on banners and cover-art
  • Installing games from setup files can now use different presets (Win98, 3DFX, …)
  • Add filter field to runner list
  • Show game count in search bar
  • Workaround Humble Bundle authentication issues by allowing importing
  • cookies from Firefox
  • Add Itch.io integration
  • Add Battle.net integration (protobuf dependency required)
  • Improve detection of DOSBox games on GOG
  • Added “Unspecified” Vulkan ICD option
  • Removed ResidualVM (now merged into ScummVM)
  • Detect obsolete Vulkan drivers and default to DXVK 1.x for them
  • Improved High-DPI support for custom media
  • Performance improvements

Weirdly enough yes I had it, but I reinstalled it and now it launched…

I’m just going by that error message you had, I don’t know what changes they made that are incompatible with your old python and the changelog wouldn’t tell you either. It’s syntax that doesn’t work anymore.

I’ve simply seen that error before with python and it was because code didn’t work with python 3.7.

In what version of Lutris was it?

Why are you commenting then? I thought the developers responsing here.

Since you decided to be responsible for the developers, then tell me what dependencies (or modules, or whatever) I need to install in addition to Python 3.8.16.

Quite right. The problem is not in the narrow capabilities of Python 3.6.9, but only in the syntax that the developers decided to switch to. Just like another programming language. What’s the point when everything could be done in Python 3.6.9?

Oh piss off, I was trying to help you with your question. Won’t happen again.

and no, you won’t likely find the developers answering here in this forum.

One last question, and I’ll piss off. Where do the developers answer if they are not on the main forum?

Logically… The main forum is inhabited by anyone, but not developers. Got it, fell behind.