The game Unknown Horizons fails to run and gives the following error:
Traceback (most recent call last):
File "/usr/bin/unknown-horizons", line 381, in <module>
main()
File "/usr/bin/unknown-horizons", line 122, in main
ret = horizons.main.start(options)
File "/usr/lib/python3.10/site-packages/horizons/main.py", line 179, in start
Entities.load(horizons.globals.db, load_now=False) # create all references
File "/usr/lib/python3.10/site-packages/horizons/entities.py", line 64, in load
cls.load_grounds(db, load_now)
File "/usr/lib/python3.10/site-packages/horizons/entities.py", line 77, in load_grounds
tile_sets = TileSetLoader.get_sets()
File "/usr/lib/python3.10/site-packages/horizons/util/loaders/tilesetloader.py", line 72, in get_sets
cls.load()
File "/usr/lib/python3.10/site-packages/horizons/util/loaders/tilesetloader.py", line 65, in load
cls.tile_sets = JsonDecoder.load(PATHS.TILE_SETS_JSON_FILE)
File "/usr/lib/python3.10/site-packages/horizons/util/loaders/jsondecoder.py", line 40, in load
return json.load(f, encoding="ascii", object_hook=_decode_dict)
File "/usr/lib/python3.10/json/__init__.py", line 293, in load
return loads(fp.read(),
File "/usr/lib/python3.10/json/__init__.py", line 359, in loads
return cls(**kw).decode(s)
TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encoding'
AL lib: (WW) 32 AuxiliaryEffectSlots not deletedI edited the jsondecoder.py file to remove "encoding="ascii" and it would then start.
It seems the game has had some fixes for issues like this for newer Python versions but has had no release since 2019 so they aren't included in the packaged version.