easybuild-easyconfigs
easybuild-easyconfigs copied to clipboard
poetry-1.0.9-GCCcore-9.3.0-Python-3.8.2.eb fails sanity check (ModuleNotFoundError: No module named 'keyring.backends.file')
== 2022-08-02 14:50:25,576 build_log.py:169 ERROR EasyBuild crashed with an error (at easybuild/software/EasyBuild/4.6.0/lib/python3.6/site-packages/easybuild/base/exceptions.py:124 in __init__): Sanity check failed: extensions sanity check failed for 1 extensions: keyring
failing sanity check for 'keyring' extension: command "python -c "import keyring"" failed; output:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/trinity/shared/easybuild/software/poetry/1.0.9-GCCcore-9.3.0-Python-3.8.2/lib/python3.8/site-packages/keyring/__init__.py", line 1, in <module>
from .core import (
File "/trinity/shared/easybuild/software/poetry/1.0.9-GCCcore-9.3.0-Python-3.8.2/lib/python3.8/site-packages/keyring/core.py", line 192, in <module>
init_backend()
File "/trinity/shared/easybuild/software/poetry/1.0.9-GCCcore-9.3.0-Python-3.8.2/lib/python3.8/site-packages/keyring/core.py", line 93, in init_backend
or load_config()
File "/trinity/shared/easybuild/software/poetry/1.0.9-GCCcore-9.3.0-Python-3.8.2/lib/python3.8/site-packages/keyring/core.py", line 179, in load_config
return load_keyring(keyring_name)
File "/trinity/shared/easybuild/software/poetry/1.0.9-GCCcore-9.3.0-Python-3.8.2/lib/python3.8/site-packages/keyring/core.py", line 136, in load_keyring
class_ = _load_keyring_class(keyring_name)
File "/trinity/shared/easybuild/software/poetry/1.0.9-GCCcore-9.3.0-Python-3.8.2/lib/python3.8/site-packages/keyring/core.py", line 126, in _load_keyring_class
__import__(module_name)
ModuleNotFoundError: No module named 'keyring.backends.file', (at easybuild/software/EasyBuild/4.6.0/lib/python3.6/site-packages/easybuild/framework/easyblock.py:3480 in _sanity_check_step)
The problems seem to be to do with the splitting off of keyrings.alt
from keyrings
. If I don't clean up the build directory and then set PYTHONPATH
to include the versions the two modules there, I can do import keyrings.alt
, but import keyring
fails with the error in the initial comment. I think this is because the file backend is now in keyrings.alt.file
. The version of poetry
being installed doesn't import keyrings.alt
, so maybe this is the problem. There is mention of a similar sounding issue here: https://github.com/python-poetry/poetry/pull/1788, with the suggestion that the problem may persist in versions later than 1.0.2