gnome-authenticator fails with "ImportError: cannot import name 'MutableSequence' from 'collections'"
gnome-authenticator crashes on load with "ImportError: cannot import name 'MutableSequence' from 'collections'". This appears to be related to python 3.10 changing how collections are imported.
- ImportError: cannot import name 'MutableMapping' from 'collections' (/usr/local/lib/python3.10/collections/init.py))
- Python 3.10 Import error with collections
System information:
- gnome-authenticator 3.32.2-1
- python 3.10.1-2
- Branch:
unstable
update 2022-01-20
Full Traceback on Launch
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/Authenticator/application.py", line 208, in _is_locked_changed
Window.get_default().refresh_view()
File "/usr/lib/python3.8/site-packages/Authenticator/widgets/window.py", line 69, in get_default
Window.instance = Window()
File "/usr/lib/python3.8/site-packages/Authenticator/widgets/window.py", line 61, in __init__
AccountsManager.get_default()
File "/usr/lib/python3.8/site-packages/Authenticator/models/accounts_manager.py", line 55, in get_default
AccountsManager.instance = AccountsManager()
File "/usr/lib/python3.8/site-packages/Authenticator/models/accounts_manager.py", line 46, in __init__
self.__fill_accounts()
File "/usr/lib/python3.8/site-packages/Authenticator/models/accounts_manager.py", line 134, in __fill_accounts
providers = Database.get_default().get_providers(only_used=True)
File "/usr/lib/python3.8/site-packages/Authenticator/models/database.py", line 52, in get_default
Database.instance = Database()
File "/usr/lib/python3.8/site-packages/Authenticator/models/database.py", line 45, in __init__
self.__apply_migrations()
File "/usr/lib/python3.8/site-packages/Authenticator/models/database.py", line 278, in __apply_migrations
from yoyo import read_migrations
File "/usr/lib/python3.8/site-packages/yoyo/__init__.py", line 15, in <module>
from yoyo.migrations import (read_migrations, # noqa
File "/usr/lib/python3.8/site-packages/yoyo/migrations.py", line 15, in <module>
from collections import (defaultdict, OrderedDict, Counter, MutableSequence,
ImportError: cannot import name 'MutableSequence' from 'collections' (/usr/lib/python3.10/collections/__init__.py)
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/Authenticator/application.py", line 77, in do_activate
window = Window.get_default()
File "/usr/lib/python3.8/site-packages/Authenticator/widgets/window.py", line 69, in get_default
Window.instance = Window()
File "/usr/lib/python3.8/site-packages/Authenticator/widgets/window.py", line 61, in __init__
AccountsManager.get_default()
File "/usr/lib/python3.8/site-packages/Authenticator/models/accounts_manager.py", line 55, in get_default
AccountsManager.instance = AccountsManager()
File "/usr/lib/python3.8/site-packages/Authenticator/models/accounts_manager.py", line 46, in __init__
self.__fill_accounts()
File "/usr/lib/python3.8/site-packages/Authenticator/models/accounts_manager.py", line 134, in __fill_accounts
providers = Database.get_default().get_providers(only_used=True)
File "/usr/lib/python3.8/site-packages/Authenticator/models/database.py", line 52, in get_default
Database.instance = Database()
File "/usr/lib/python3.8/site-packages/Authenticator/models/database.py", line 45, in __init__
self.__apply_migrations()
File "/usr/lib/python3.8/site-packages/Authenticator/models/database.py", line 278, in __apply_migrations
from yoyo import read_migrations
File "/usr/lib/python3.8/site-packages/yoyo/__init__.py", line 15, in <module>
from yoyo.migrations import (read_migrations, # noqa
File "/usr/lib/python3.8/site-packages/yoyo/migrations.py", line 15, in <module>
from collections import (defaultdict, OrderedDict, Counter, MutableSequence,
ImportError: cannot import name 'MutableSequence' from 'collections' (/usr/lib/python3.10/collections/__init__.py)