Error when trying to save password, Cannot import backend
When trying to use mercurial keyring I get the following error:
keyring: keyring backend doesn't seem to work, password was not saved. Error details: cannot import name 'backend' from 'cryptography.hazmat.backends.openssl.backend' (/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py)
However keyring works fine on the commandline:
$ keyring set system user
Password for 'user' in 'system':
$ keyring get system user
test
And from within python itself:
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import keyring
>>> keyring.get_password("system","user")
'test'
I've tried both the default installed versions: keyring==18.0.1 keyrings.alt==3.4.0 mercurial-keyring==1.3.0
And the latest version from this repo, specifying it specifically in .hgrc
I'm not sure what packages I might be missing as following the steps in the README.rst work fine:
$ keyring --list-backends
keyrings.alt.file.PlaintextKeyring (priority: 0.5)
keyrings.alt.file.EncryptedKeyring (priority: 0.6)
keyring.backends.SecretService.Keyring (priority: 5)
keyring.backends.fail.Keyring (priority: 0)
keyring.backends.chainer.ChainerBackend (priority: 10)
$ keyring -b keyring.backends.SecretService.Keyring set service user
Password for 'user' in 'service':
$ keyring -b keyring.backends.SecretService.Keyring get service user
test
$ keyring -b keyring.backends.chainer.ChainerBackend get service user
test
and I've forced the backend:
$ cat ~/.local/share/python_keyring/keyringrc.cfg
[backend]
default-keyring=keyring.backends.SecretService.Keyring
What should I do next?