Repository: lutris/lutris
Pull request: lowercase when wine_version not None (Fixes #3764)
## Proposed changes

os: ubuntu 21.10
version: 0.5.9.1

when launching game with wine from play button it may doing nothing. 
when running lutris with debug flag following error show up

```python
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lutris/exceptions.py", line 57, in wrapper
    return function(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/lutris/game.py", line 420, in configure_game
    gameplay_info = self.get_gameplay_info()
  File "/usr/lib/python3/dist-packages/lutris/game.py", line 398, in get_gameplay_info
    gameplay_info = self.runner.play()
  File "/usr/lib/python3/dist-packages/lutris/runners/wine.py", line 840, in play
    wine_ver = is_version_esync(self.get_executable())
  File "/usr/lib/python3/dist-packages/lutris/util/wine/wine.py", line 293, in is_version_esync
    wine_version = get_wine_version(path).lower()
AttributeError: 'NoneType' object has no attribute 'lower'
```

resolves #3764

## Types of changes

What types of changes does your code introduce?
_Put an `x` in the boxes that apply_

- [x] Bugfix (non-breaking change which fixes an issue)
-  New feature (non-breaking change which adds functionality)
-  Breaking change (fix or feature that would cause existing functionality to not work as expected)
-  Documentation Update (if none of the other choices apply)

## Checklist

_Put an `x` in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code._

- [x] I have read the [CONTRIBUTING](https://github.com/lutris/lutris/blob/master/CONTRIBUTING.md) doc
- Formatting my code
- Writing tests
- [x] Running tests
- [x] check pr title

## Further comments

i edit this on ubuntu 21.10 and i can't run `make dev` because following error

<details>
  <summary>`make dev` error</summary>

```python
$ make dev
/home/r3r/.pyenv/shims/python3 -m pip install --user --upgrade pipenv
Requirement already satisfied: pipenv in /home/r3r/.local/lib/python3.9/site-packages (2021.5.29)
Requirement already satisfied: virtualenv in /home/r3r/.local/lib/python3.9/site-packages (from pipenv) (20.9.0)
Requirement already satisfied: virtualenv-clone>=0.2.5 in /home/r3r/.local/lib/python3.9/site-packages (from pipenv) (0.5.7)
Requirement already satisfied: certifi in /home/r3r/.local/lib/python3.9/site-packages (from pipenv) (2021.5.30)
Requirement already satisfied: setuptools>=36.2.1 in /home/r3r/.pyenv/versions/3.9.5/lib/python3.9/site-packages (from pipenv) (56.0.0)
Requirement already satisfied: pip>=18.0 in /home/r3r/.pyenv/versions/3.9.5/lib/python3.9/site-packages (from pipenv) (21.2.4)
Requirement already satisfied: platformdirs<3,>=2 in /home/r3r/.local/lib/python3.9/site-packages (from virtualenv->pipenv) (2.4.0)
Requirement already satisfied: distlib<1,>=0.3.1 in /home/r3r/.local/lib/python3.9/site-packages (from virtualenv->pipenv) (0.3.3)
Requirement already satisfied: filelock<4,>=3.2 in /home/r3r/.local/lib/python3.9/site-packages (from virtualenv->pipenv) (3.3.1)
Requirement already satisfied: six<2,>=1.9.0 in /home/r3r/.local/lib/python3.9/site-packages (from virtualenv->pipenv) (1.16.0)
Requirement already satisfied: backports.entry-points-selectable>=1.0.4 in /home/r3r/.local/lib/python3.9/site-packages (from virtualenv->pipenv) (1.1.0)
WARNING: You are using pip version 21.2.4; however, version 21.3 is available.
You should consider upgrading via the '/home/r3r/.pyenv/versions/3.9.5/bin/python3 -m pip install --upgrade pip' command.
pipenv install --dev --deploy --ignore-pipfile --python /home/r3r/.pyenv/shims/python3
Virtualenv already exists!
Removing existing virtualenv...
Creating a virtualenv for this project...
Pipfile: /home/r3r/git/lutris/Pipfile
Using /home/r3r/.pyenv/shims/python3 (3.9.5) to create virtualenv...
⠴ Creating virtual environment...created virtual environment CPython3.9.5.final.0-64 in 328ms
  creator CPython3Posix(dest=/home/r3r/.local/share/virtualenvs/lutris-1m4MsbNa, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/r3r/.local/share/virtualenv)
    added seed packages: pip==21.3.1, setuptools==58.3.0, wheel==0.37.0
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

✔ Successfully created virtual environment!
Virtualenv location: /home/r3r/.local/share/virtualenvs/lutris-1m4MsbNa
Installing dependencies from Pipfile.lock (fbaeff)...
An error occurred while installing pycairo==1.20.1 --hash=sha256:5525da2d8de912750dd157752aa96f1f0a42a437c5625e85b14c936b5c6305ae --hash=sha256:0d7a6754d410d911a46f00396bee4be96500ccd3d178e7e98aef1140e3dd67ae --hash=sha256:6db823a18e7be1eb2a29c28961f2f01e84d3b449f06be7338d05ac8f90592cd5 --hash=sha256:261c69850d4b2ec03346c9745bad2a835bb8124e4c6961b8ceac503d744eb3b3 --hash=sha256:e800486b51fffeb11ed867b4f2220d446e2a60a81a73b7c377123e0cbb72f49d --hash=sha256:9a32e4a3574a104aa876c35d5e71485dfd6986b18d045534c6ec510c44d5d6a7 --hash=sha256:f123d3818e30b77b7209d70a6dcfd5b4e34885f9fa539d92dd7ff3e4e2037213 --hash=sha256:b605151cdd23cedb31855b8666371b6e26b80f02753a52c8b8023a916b1df812 --hash=sha256:c8c2bb933974d91c5d19e54b846d964de177e7bf33433bf34ac34c85f9b30e94 --hash=sha256:1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b --hash=sha256:736ffc618e851601e861a630293e5c910ef016b83b2d035a336f83a367bf56ab! Will try again.
An error occurred while installing pygobject==3.40.1 --hash=sha256:6fb599aa59ceb9dd05fafb0d72b3862943e7d5e85c8ef6c74856bc6d4321cbab! Will try again.
An error occurred while installing dbus-python==1.2.16 --hash=sha256:11238f1d86c995d8aed2e22f04a1e3779f0d70e587caffeab4857f3c662ed5a4! Will try again.
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 43/43 — 00:00:34
Installing initially failed dependencies...
[InstallError]:   File "/home/r3r/.local/lib/python3.9/site-packages/pipenv/cli/command.py", line 233, in install
[InstallError]:       retcode = do_install(
[InstallError]:   File "/home/r3r/.local/lib/python3.9/site-packages/pipenv/core.py", line 2052, in do_install
[InstallError]:       do_init(
[InstallError]:   File "/home/r3r/.local/lib/python3.9/site-packages/pipenv/core.py", line 1304, in do_init
[InstallError]:       do_install_dependencies(
[InstallError]:   File "/home/r3r/.local/lib/python3.9/site-packages/pipenv/core.py", line 899, in do_install_dependencies
[InstallError]:       batch_install(
[InstallError]:   File "/home/r3r/.local/lib/python3.9/site-packages/pipenv/core.py", line 796, in batch_install
[InstallError]:       _cleanup_procs(procs, failed_deps_queue, retry=retry)
[InstallError]:   File "/home/r3r/.local/lib/python3.9/site-packages/pipenv/core.py", line 703, in _cleanup_procs
[InstallError]:       raise exceptions.InstallError(c.dep.name, extra=err_lines)
[pipenv.exceptions.InstallError]: Collecting pycairo==1.20.1
[pipenv.exceptions.InstallError]:   Using cached pycairo-1.20.1.tar.gz (344 kB)
[pipenv.exceptions.InstallError]:   Preparing metadata (setup.py): started
[pipenv.exceptions.InstallError]:   Preparing metadata (setup.py): finished with status 'done'
[pipenv.exceptions.InstallError]: Building wheels for collected packages: pycairo
[pipenv.exceptions.InstallError]:   Building wheel for pycairo (setup.py): started
[pipenv.exceptions.InstallError]:   Building wheel for pycairo (setup.py): finished with status 'error'
[pipenv.exceptions.InstallError]:   ERROR: Command errored out with exit status 1:
[pipenv.exceptions.InstallError]:    command: /home/r3r/.local/share/virtualenvs/lutris-1m4MsbNa/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9rf274la/pycairo_0b21fab64d034850b9dfd4faf980196d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-9rf274la/pycairo_0b21fab64d034850b9dfd4faf980196d/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-blvbw4c8
[pipenv.exceptions.InstallError]:        cwd: /tmp/pip-install-9rf274la/pycairo_0b21fab64d034850b9dfd4faf980196d/
[pipenv.exceptions.InstallError]:   Complete output (17 lines):
[pipenv.exceptions.InstallError]:   running bdist_wheel
[pipenv.exceptions.InstallError]:   running build
[pipenv.exceptions.InstallError]:   running build_py
[pipenv.exceptions.InstallError]:   creating build
[pipenv.exceptions.InstallError]:   creating build/lib.linux-x86_64-3.9
[pipenv.exceptions.InstallError]:   creating build/lib.linux-x86_64-3.9/cairo
[pipenv.exceptions.InstallError]:   copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
[pipenv.exceptions.InstallError]:   copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
[pipenv.exceptions.InstallError]:   copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
[pipenv.exceptions.InstallError]:   warning: build_py: byte-compiling is disabled, skipping.
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:   running build_ext
[pipenv.exceptions.InstallError]:   Package cairo was not found in the pkg-config search path.
[pipenv.exceptions.InstallError]:   Perhaps you should add the directory containing `cairo.pc'
[pipenv.exceptions.InstallError]:   to the PKG_CONFIG_PATH environment variable
[pipenv.exceptions.InstallError]:   No package 'cairo' found
[pipenv.exceptions.InstallError]:   Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
[pipenv.exceptions.InstallError]:   ----------------------------------------
[pipenv.exceptions.InstallError]:   ERROR: Failed building wheel for pycairo
[pipenv.exceptions.InstallError]:   Running setup.py clean for pycairo
[pipenv.exceptions.InstallError]: Failed to build pycairo
[pipenv.exceptions.InstallError]: Installing collected packages: pycairo
[pipenv.exceptions.InstallError]:     Running setup.py install for pycairo: started
[pipenv.exceptions.InstallError]:     Running setup.py install for pycairo: finished with status 'error'
[pipenv.exceptions.InstallError]:     ERROR: Command errored out with exit status 1:
[pipenv.exceptions.InstallError]:      command: /home/r3r/.local/share/virtualenvs/lutris-1m4MsbNa/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9rf274la/pycairo_0b21fab64d034850b9dfd4faf980196d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-9rf274la/pycairo_0b21fab64d034850b9dfd4faf980196d/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-bxj1g0ug/install-record.txt --single-version-externally-managed --compile --install-headers /home/r3r/.local/share/virtualenvs/lutris-1m4MsbNa/include/site/python3.9/pycairo
[pipenv.exceptions.InstallError]:          cwd: /tmp/pip-install-9rf274la/pycairo_0b21fab64d034850b9dfd4faf980196d/
[pipenv.exceptions.InstallError]:     Complete output (19 lines):
[pipenv.exceptions.InstallError]:     running install
[pipenv.exceptions.InstallError]:     /home/r3r/.local/share/virtualenvs/lutris-1m4MsbNa/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
[pipenv.exceptions.InstallError]:       warnings.warn(
[pipenv.exceptions.InstallError]:     running build
[pipenv.exceptions.InstallError]:     running build_py
[pipenv.exceptions.InstallError]:     creating build
[pipenv.exceptions.InstallError]:     creating build/lib.linux-x86_64-3.9
[pipenv.exceptions.InstallError]:     creating build/lib.linux-x86_64-3.9/cairo
[pipenv.exceptions.InstallError]:     copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
[pipenv.exceptions.InstallError]:     copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
[pipenv.exceptions.InstallError]:     copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
[pipenv.exceptions.InstallError]:     warning: build_py: byte-compiling is disabled, skipping.
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:     running build_ext
[pipenv.exceptions.InstallError]:     Package cairo was not found in the pkg-config search path.
[pipenv.exceptions.InstallError]:     Perhaps you should add the directory containing `cairo.pc'
[pipenv.exceptions.InstallError]:     to the PKG_CONFIG_PATH environment variable
[pipenv.exceptions.InstallError]:     No package 'cairo' found
[pipenv.exceptions.InstallError]:     Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
[pipenv.exceptions.InstallError]:     ----------------------------------------
[pipenv.exceptions.InstallError]: ERROR: Command errored out with exit status 1: /home/r3r/.local/share/virtualenvs/lutris-1m4MsbNa/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9rf274la/pycairo_0b21fab64d034850b9dfd4faf980196d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-9rf274la/pycairo_0b21fab64d034850b9dfd4faf980196d/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-bxj1g0ug/install-record.txt --single-version-externally-managed --compile --install-headers /home/r3r/.local/share/virtualenvs/lutris-1m4MsbNa/include/site/python3.9/pycairo Check the logs for full command output.
ERROR: Couldn't install package: pycairo
 Package installation failed...
  ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 2/3 — 00:00:03
make: *** [Makefile:60: dev] Error 1
```
</details>

so i create virtualenv with pyenv and run `pip install -e .` but there is also following error

<details>
  <summary>`pip install -e .` error</summary>
  
```python
Obtaining file:///home/r3r/git/lutris
  Preparing metadata (setup.py) ... done
Collecting PyYAML
  Downloading PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (661 kB)
     |████████████████████████████████| 661 kB 323 kB/s
Collecting PyGObject
  Downloading PyGObject-3.42.0.tar.gz (716 kB)
     |████████████████████████████████| 716 kB 1.1 MB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-41hglxxc/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-w75_eido/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Downloading setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Downloading pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmp0kcsngxb_in_process.py build_wheel /tmp/tmp8hirk9bx
         cwd: /tmp/pip-install-3qrlzdl5/pycairo_64e9330078e84d55837108b1165cf8df
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/cc/72/48cfdd7a0caf3c27f392d2657731ac6f7c3c1c0a60bfeba3e1ba9ffa7ba9/PyGObject-3.42.0.tar.gz#sha256=b9803991ec0b0b4175e81fee0ad46090fa7af438fe169348a9b18ae53447afcd (from https://pypi.org/simple/pygobject/) (requires-python:>=3.6, <4). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-41hglxxc/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-w75_eido/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.40.1.tar.gz (714 kB)
     |████████████████████████████████| 714 kB 1.4 MB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-5ql86c3l/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-how2cut3/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmpoqwkh8vl_in_process.py build_wheel /tmp/tmpwcosng58
         cwd: /tmp/pip-install-stw62vj6/pycairo_ca15eae1c10346a691fa638bf761983e
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/51/2f/4d5d5afb7000b9151e33952b59163c9389bd867ac6fe85d62f85831fa061/PyGObject-3.40.1.tar.gz#sha256=6fb599aa59ceb9dd05fafb0d72b3862943e7d5e85c8ef6c74856bc6d4321cbab (from https://pypi.org/simple/pygobject/) (requires-python:>=3.6, <4). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-5ql86c3l/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-how2cut3/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.40.0.tar.gz (714 kB)
     |████████████████████████████████| 714 kB 1.5 MB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-nrfzz9ua/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-q9m_42qx/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmp0nnjmtnr_in_process.py build_wheel /tmp/tmpnsvy6ub8
         cwd: /tmp/pip-install-hm8b2n5r/pycairo_f95f2429ac714827a18e3b66791fb369
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/fa/0cfaa64ad7a4cd94fd74b698fcc8987ed780fce1651fecc6604f86f604cd/PyGObject-3.40.0.tar.gz#sha256=98d83f71e6313dadc29793450fec23b2eaa5c3f1c4b073d0a4f9c31b5cdb5fca (from https://pypi.org/simple/pygobject/) (requires-python:>=3.6, <4). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-nrfzz9ua/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-q9m_42qx/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.38.0.tar.gz (712 kB)
     |████████████████████████████████| 712 kB 636 kB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-_jb_lr6m/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-rbslokay/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmpeg8jkt46_in_process.py build_wheel /tmp/tmp9a1w7yki
         cwd: /tmp/pip-install-zuy7rf12/pycairo_13acf013ff6848b39026384ba1cf6f5c
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/3a/a7/de282a4aaedba59d60a895a7821e6497b39cbdfa94a352776ff45ffc6e6f/PyGObject-3.38.0.tar.gz#sha256=051b950f509f2e9f125add96c1493bde987c527f7a0c15a1f7b69d6d1c3cd8e6 (from https://pypi.org/simple/pygobject/) (requires-python:>=3.5, <4). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-_jb_lr6m/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-rbslokay/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.36.1.tar.gz (716 kB)
     |████████████████████████████████| 716 kB 626 kB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-s5wm7edu/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-hx4dnron/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmp7_dv4kji_in_process.py build_wheel /tmp/tmpy6x_ljbh
         cwd: /tmp/pip-install-nsm17sl3/pycairo_0feaeae1de0f45c5b0bf4bc8d61d4a1f
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/93/41/bf9ab8929f51dac2979ae81bb094728bacee3ceb049def72d3fc1bcb4241/PyGObject-3.36.1.tar.gz#sha256=012a589aec687bfa809a1ff9f5cd775dc7f6fcec1a6bc7fe88e1002a68f8ba34 (from https://pypi.org/simple/pygobject/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-s5wm7edu/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-hx4dnron/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.36.0.tar.gz (714 kB)
     |████████████████████████████████| 714 kB 807 kB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-j0t69l87/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-_b0ca_mi/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmpmb4rrcpp_in_process.py build_wheel /tmp/tmpvtsnm9p6
         cwd: /tmp/pip-install-i8xobvn6/pycairo_a294e2eae39d4b2f90dd2ea96fc61377
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/3e/b5/f4fd3351ed074aeeae30bff71428f38bc42187e34c44913239a9dc85a7fc/PyGObject-3.36.0.tar.gz#sha256=b97f570e55017fcd3732164811f24ecf63983a4834f61b55b0aaf64ecefac856 (from https://pypi.org/simple/pygobject/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-j0t69l87/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-_b0ca_mi/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.34.0.tar.gz (699 kB)
     |████████████████████████████████| 699 kB 771 kB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-ni5w8t7t/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-nmlp7zqp/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmp3fz_m0pa_in_process.py build_wheel /tmp/tmpm_1nrh11
         cwd: /tmp/pip-install-d_95hy00/pycairo_f9886d1d254448748483b3f0b59b2373
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/46/8a/b183f3edc812d4d28c8b671a922b5bc2863be5d38c56b3ad9155815e78dd/PyGObject-3.34.0.tar.gz#sha256=2acb0daf2b3a23a90f52066cc23d1053339fee2f5f7f4275f8baa3704ae0c543 (from https://pypi.org/simple/pygobject/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-ni5w8t7t/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-nmlp7zqp/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.32.2.tar.gz (698 kB)
     |████████████████████████████████| 698 kB 950 kB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-yzn9w960/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-9496siet/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmpgputyvr6_in_process.py build_wheel /tmp/tmpgvqa1vm8
         cwd: /tmp/pip-install-nqidx4uq/pycairo_284c37ff33534fe4b881527942e5eae0
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/40/ee/8daf797cda4ffe7724b9d47cbb5e2b44ca6235764622d163c586bd9bd7c5/PyGObject-3.32.2.tar.gz#sha256=fa82746df059b9e0dcf473e0a9ff0693aa5e064f1ca1e2c46b5ac815bceda1ad (from https://pypi.org/simple/pygobject/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-yzn9w960/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-9496siet/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.32.1.tar.gz (698 kB)
     |████████████████████████████████| 698 kB 761 kB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-h2vgmgiy/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-21touuex/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmpx52nnqh1_in_process.py build_wheel /tmp/tmpfec6nzt0
         cwd: /tmp/pip-install-tqgzctxn/pycairo_6231c011eca24c5399f66335d0e8d0ab
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/c1/36/c31a6ce9411b22a8ac0759c9b5ffda09368d5e0643450bb8ed83c271588c/PyGObject-3.32.1.tar.gz#sha256=4165d9fb4157e69c76f29e52a6d73a39a804e18ad9ef0eede15efd9c57c52bf2 (from https://pypi.org/simple/pygobject/). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-h2vgmgiy/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-21touuex/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.32.0.tar.gz (698 kB)
     |████████████████████████████████| 698 kB 250 kB/s
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-8y3ptwgn/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-n9izjrah/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (38 lines):
  Collecting setuptools
    Using cached setuptools-58.3.0-py3-none-any.whl (946 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting pycairo
    Using cached pycairo-1.20.1.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (pyproject.toml): started
    Building wheel for pycairo (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/tmpyjd_rh7a_in_process.py build_wheel /tmp/tmpb1mhqgv3
         cwd: /tmp/pip-install-ag383z4l/pycairo_8d58b652d82d4f2d8273b9cb1b39e4a3
    Complete output (15 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/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/0b/fd/56ac6898afc5c7f5718026103bd8f0b44714b6f79ac20d7eb8990c9a7eab/PyGObject-3.32.0.tar.gz#sha256=a4d6f6d8e688d28e07119fc83aabc6e7aad02057f48b2194089959d03654f695 (from https://pypi.org/simple/pygobject/). Command errored out with exit status 1: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /tmp/pip-standalone-pip-8y3ptwgn/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-n9izjrah/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
  Downloading PyGObject-3.30.5.tar.gz (690 kB)
     |████████████████████████████████| 690 kB 536 kB/s
  Preparing metadata (setup.py) ... done
Collecting evdev
  Downloading evdev-1.4.0.tar.gz (26 kB)
  Preparing metadata (setup.py) ... done
Collecting requests
  Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting python-magic
  Downloading python_magic-0.4.24-py2.py3-none-any.whl (12 kB)
Collecting pycairo>=1.11.1
  Using cached pycairo-1.20.1.tar.gz (344 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting idna<4,>=2.5
  Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting charset-normalizer~=2.0.0
  Using cached charset_normalizer-2.0.7-py3-none-any.whl (38 kB)
Using legacy 'setup.py install' for evdev, since package 'wheel' is not installed.
Using legacy 'setup.py install' for PyGObject, since package 'wheel' is not installed.
Building wheels for collected packages: pycairo
  Building wheel for pycairo (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/r3r/.pyenv/versions/3.9.5/envs/lutris/bin/python3.9 /home/r3r/.pyenv/versions/3.9.5/envs/lutris/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpga3zdvfu
       cwd: /tmp/pip-install-ykq71x2m/pycairo_9d00d1241bfa4a4886fbb09c02392785
  Complete output (15 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/cairo
  copying cairo/__init__.py -> build/lib.linux-x86_64-3.9/cairo
  copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.9/cairo
  copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
  running build_ext
  Package cairo was not found in the pkg-config search path.
  Perhaps you should add the directory containing `cairo.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'cairo' found
  Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for pycairo
Failed to build pycairo
ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects

```
</details>


so i just directly run recommended test `make test`. but there is also following error

```python
rm tests/fixtures/pga.db -f
nosetests3
make: nosetests3: No such file or directory
make: *** [Makefile:28: test] Error 127
```

after that i install nose and flake8 and run `python -m nose .`, but i got following error because i don't install all requirement package from `make dev`

<details>
  <summary>nose test</summary>
  
```python
Traceback (most recent call last):
  File "/home/r3r/git/lutris/share/lutris/bin/lutris-wrapper", line 15, in <module>
    from lutris.util.process_watcher import ProcessWatcher
  File "/home/r3r/git/lutris/lutris/util/process_watcher.py", line 6, in <module>
    from lutris.util.process import Process
  File "/home/r3r/git/lutris/lutris/util/process.py", line 4, in <module>
    from lutris.util.log import logger
  File "/home/r3r/git/lutris/lutris/util/log.py", line 7, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'
EEEEEEEEEFTraceback (most recent call last):
  File "/home/r3r/git/lutris/share/lutris/bin/lutris-wrapper", line 15, in <module>
    from lutris.util.process_watcher import ProcessWatcher
  File "/home/r3r/git/lutris/lutris/util/process_watcher.py", line 6, in <module>
    from lutris.util.process import Process
  File "/home/r3r/git/lutris/lutris/util/process.py", line 4, in <module>
    from lutris.util.log import logger
  File "/home/r3r/git/lutris/lutris/util/log.py", line 7, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'
FEEEEEEEE
======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 244, in load_module
    return load_package(name, filename)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 216, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/lutris/gui/dialogs/__init__.py", line 5, in <module>
    from gi.repository import GLib, GObject, Gtk
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'yaml')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 244, in load_module
    return load_package(name, filename)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 216, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/lutris/installer/__init__.py", line 2, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 244, in load_module
    return load_package(name, filename)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 216, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/lutris/migrations/__init__.py", line 3, in <module>
    from lutris import settings
  File "/home/r3r/git/lutris/lutris/settings.py", line 6, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 244, in load_module
    return load_package(name, filename)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 216, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/lutris/services/__init__.py", line 4, in <module>
    from lutris import settings
  File "/home/r3r/git/lutris/lutris/settings.py", line 6, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/lutris/util/test_config.py", line 3, in <module>
    from lutris import startup
  File "/home/r3r/git/lutris/lutris/startup.py", line 7, in <module>
    from lutris import runners, settings
  File "/home/r3r/git/lutris/lutris/settings.py", line 6, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/runners/test_pcsx2.py", line 4, in <module>
    from lutris.runners.pcsx2 import pcsx2
  File "/home/r3r/git/lutris/lutris/runners/pcsx2.py", line 3, in <module>
    from lutris.runners.runner import Runner
  File "/home/r3r/git/lutris/lutris/runners/runner.py", line 5, in <module>
    from gi.repository import Gtk
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_dialogs.py", line 3, in <module>
    import gi
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_glxinfo.py", line 3, in <module>
    from lutris.util.graphics.glxinfo import GlxInfo
  File "/home/r3r/git/lutris/lutris/util/graphics/glxinfo.py", line 2, in <module>
    from lutris.util.log import logger
  File "/home/r3r/git/lutris/lutris/util/log.py", line 7, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'yaml')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_installer.py", line 2, in <module>
    from lutris.installer.interpreter import ScriptInterpreter
  File "/home/r3r/git/lutris/lutris/installer/__init__.py", line 2, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_pga.py", line 4, in <module>
    from lutris import settings
  File "/home/r3r/git/lutris/lutris/settings.py", line 6, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_registry.py", line 3, in <module>
    from lutris.util.wine.registry import WineRegistry, WineRegistryKey
  File "/home/r3r/git/lutris/lutris/util/wine/registry.py", line 7, in <module>
    from lutris.util import system
  File "/home/r3r/git/lutris/lutris/util/system.py", line 11, in <module>
    from gi.repository import Gio, GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_resources.py", line 3, in <module>
    from lutris.api import parse_installer_url
  File "/home/r3r/git/lutris/lutris/api.py", line 10, in <module>
    from lutris import settings
  File "/home/r3r/git/lutris/lutris/settings.py", line 6, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'yaml')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_runners.py", line 4, in <module>
    from lutris.config import LutrisConfig
  File "/home/r3r/git/lutris/lutris/config.py", line 6, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'yaml')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_scummvm.py", line 3, in <module>
    from lutris.config import LutrisConfig
  File "/home/r3r/git/lutris/lutris/config.py", line 6, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_snes9x.py", line 4, in <module>
    from lutris.runners.snes9x import snes9x
  File "/home/r3r/git/lutris/lutris/runners/snes9x.py", line 8, in <module>
    from lutris import settings
  File "/home/r3r/git/lutris/lutris/settings.py", line 6, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_utils.py", line 4, in <module>
    from lutris.util import system
  File "/home/r3r/git/lutris/lutris/util/system.py", line 11, in <module>
    from gi.repository import Gio, GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'gi')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/loader.py", line 417, in loadTestsFromName
    module = self.importer.importFromPath(
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/r3r/.pyenv/versions/lutris/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/r3r/.pyenv/versions/3.9.5/lib/python3.9/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/r3r/git/lutris/tests/test_wine.py", line 2, in <module>
    from lutris.runners import wine
  File "/home/r3r/git/lutris/lutris/runners/wine.py", line 7, in <module>
    from lutris import runtime
  File "/home/r3r/git/lutris/lutris/runtime.py", line 6, in <module>
    from gi.repository import GLib
ModuleNotFoundError: No module named 'gi'

======================================================================
FAIL: Test that nonresponsive child processes can be killed with 2x sigterm
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/git/lutris/tests/test_lutris_wrapper.py", line 91, in test_cleanup_children
    self.fail("stdout EOF unexpectedly")
AssertionError: stdout EOF unexpectedly

======================================================================
FAIL: Test that an excluded process that starts a monitored process works
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/r3r/git/lutris/tests/test_lutris_wrapper.py", line 44, in test_excluded_initial_process
    self.fail("stdout EOF unexpectedly")
AssertionError: stdout EOF unexpectedly

----------------------------------------------------------------------
Ran 19 tests in 0.226s

FAILED (errors=17, failures=2)
```
</details>

---

because there is no typehint i don't know better strategy for  this

based on the usage and error it suppose to be `optional[str]` but mypy's reveal_type said it is `Any`

other alternative is to check if result var from get_wine_version have `lower` attribute.

this pr only guard against `None` value

this also add change to is_version_fsync to handle `None` value

also i can't find tests for  is_version_esync and is_version_fsync. 

while i can make it i have to fix my dev env and it will take long time just for these simple fixes

---

this pr is based from this template https://github.com/appium/appium/blob/master/.github/PULL_REQUEST_TEMPLATE.md

Problem statement:
Cannot run WINE games error get_wine_version(path).lower() returns None
until recently running WINE games has worked really well
but now whenever i press on the "launch" button, it gets permanently greyed out with "Launching" on the button.
when running Lutris from a terminal and trying to launch a game, I get:

```
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lutris/exceptions.py", line 57, in wrapper
    return function(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/lutris/game.py", line 420, in configure_game
    gameplay_info = self.get_gameplay_info()
  File "/usr/lib/python3/dist-packages/lutris/game.py", line 398, in get_gameplay_info
    gameplay_info = self.runner.play()
  File "/usr/lib/python3/dist-packages/lutris/runners/wine.py", line 840, in play
    wine_ver = is_version_esync(self.get_executable())
  File "/usr/lib/python3/dist-packages/lutris/util/wine/wine.py", line 293, in is_version_esync
    wine_version = get_wine_version(path).lower()
AttributeError: 'NoneType' object has no attribute 'lower'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
    with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_games_lutris.1000.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lutris/exceptions.py", line 57, in wrapper
    return function(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/lutris/game.py", line 420, in configure_game
    gameplay_info = self.get_gameplay_info()
  File "/usr/lib/python3/dist-packages/lutris/game.py", line 398, in get_gameplay_info
    gameplay_info = self.runner.play()
  File "/usr/lib/python3/dist-packages/lutris/runners/wine.py", line 840, in play
    wine_ver = is_version_esync(self.get_executable())
  File "/usr/lib/python3/dist-packages/lutris/util/wine/wine.py", line 293, in is_version_esync
    wine_version = get_wine_version(path).lower()
AttributeError: 'NoneType' object has no attribute 'lower'

```

i know for a fact that i have WINE installed, because Lutris used to work and I can run games from the command line using wine

Hints from issue discussion:

Commit message: fix: dev: handle TypeError

Patch to review:
diff --git a/lutris/util/wine/wine.py b/lutris/util/wine/wine.py
index 9e22e68a6a..d0a1df4db5 100644
--- a/lutris/util/wine/wine.py
+++ b/lutris/util/wine/wine.py
@@ -290,8 +290,11 @@ def is_version_esync(path):
     for esync_version in esync_compatible_versions:
         if esync_version in version_prefix or esync_version in version_suffix:
             return True
-    wine_version = get_wine_version(path).lower()
-    return "esync" in wine_version or "staging" in wine_version
+    wine_version = get_wine_version(path)
+    if wine_version is not None:
+        wine_version = wine_version.lower()
+        return "esync" in wine_version or "staging" in wine_version
+    return False
 
 
 def is_version_fsync(path):
@@ -313,7 +316,10 @@ def is_version_fsync(path):
     for fsync_version in fsync_compatible_versions:
         if fsync_version in version_prefix or fsync_version in version_suffix:
             return True
-    return "fsync" in get_wine_version(path).lower()
+    wine_version = get_wine_version(path)
+    if wine_version is not None:
+        return "fsync" in wine_version.lower()
+    return False
 
 
 def get_real_executable(windows_executable, working_dir=None):


Code review comments:
diff_hunk: @@ -313,7 +316,10 @@ def is_version_fsync(path):
     for fsync_version in fsync_compatible_versions:
         if fsync_version in version_prefix or fsync_version in version_suffix:
             return True
-    return "fsync" in get_wine_version(path).lower()
+    wine_version = get_wine_version(path)
+    if wine_version is not None:
path: lutris/util/wine/wine.py
text: @user1:
```suggestion
    if wine_version:
```

diff_hunk: @@ -290,8 +290,11 @@ def is_version_esync(path):
     for esync_version in esync_compatible_versions:
         if esync_version in version_prefix or esync_version in version_suffix:
             return True
-    wine_version = get_wine_version(path).lower()
-    return "esync" in wine_version or "staging" in wine_version
+    wine_version = get_wine_version(path)
+    if wine_version is not None:
path: lutris/util/wine/wine.py
text: @user1:
```suggestion
    if wine_version:
```