fennerm / flashfocus

Simple focus animations for tiling window managers.
MIT License
748 stars 10 forks source link

Can't start (change python-yaml dependency version?) #71

Closed Barbaross93 closed 2 years ago

Barbaross93 commented 2 years ago

After a recent update, flashfocus stopped working. When I try to launch it manually, I see the following error output:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 573, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 891, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 782, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (PyYAML 6.0 (/usr/lib/python3.10/site-packages), Requirement.parse('pyyaml<6.0,>=5.1'), {'flashfocus'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/flashfocus", line 8, in <module>
    from flashfocus.cli import cli
  File "/usr/lib/python3.10/site-packages/flashfocus/cli.py", line 11, in <module>
    from flashfocus.config import init_user_configfile, load_merged_config
  File "/usr/lib/python3.10/site-packages/flashfocus/config.py", line 16, in <module>
    from marshmallow import fields, post_load, Schema, validates_schema, ValidationError
  File "/usr/lib/python3.10/site-packages/marshmallow/__init__.py", line 14, in <module>
    from distutils.version import LooseVersion
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 674, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 571, in module_from_spec
  File "/usr/lib/python3.10/site-packages/_distutils_hack/__init__.py", line 92, in create_module
    return importlib.import_module('setuptools._distutils')
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line 16, in <module>
    import setuptools.version
  File "/usr/lib/python3.10/site-packages/setuptools/version.py", line 1, in <module>
    import pkg_resources
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3267, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3241, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3279, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 575, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 588, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 777, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pyyaml<6.0,>=5.1' distribution was not found and is required by flashfocus

It looks like python-yaml in the Arch linux repos has been updated to 6.0-1, but the requirement.txt expects it to be a version less than 6.0 but greater than or equal to 5.1. Is it possible to either update the requirements file or otherwise make the necessary changes in flashfocus's source?

fennerm commented 2 years ago

Apologies for the long delay on this one. @Artturin's fix for this has been deployed in v2.2.5 @Barbaross93