easybuild-easyconfigs icon indicating copy to clipboard operation
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')

Open tardigradus opened this issue 2 years ago • 1 comments

== 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)

tardigradus avatar Aug 02 '22 12:08 tardigradus

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

tardigradus avatar Aug 03 '22 07:08 tardigradus