Skip to content

Import easybuild.easyblocks.python for merge script to succeed - #25

Merged
ocaisa merged 4 commits into
mainfrom
add_import_for_eb_5.4.0
Aug 13, 2026
Merged

Import easybuild.easyblocks.python for merge script to succeed#25
ocaisa merged 4 commits into
mainfrom
add_import_for_eb_5.4.0

Conversation

@ocaisa

@ocaisa ocaisa commented Aug 13, 2026

Copy link
Copy Markdown
Member

No description provided.

@ocaisa
ocaisa merged commit ad5d801 into main Aug 13, 2026
1 check passed
@ocaisa
ocaisa deleted the add_import_for_eb_5.4.0 branch August 13, 2026 17:22
import yaml
import hashlib
# EB 5.4.0 brought in a change that required the import below
import easybuild.easyblocks.python

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ocaisa How did it fail without this import? 🤔

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Traceback (most recent call last):
  File "/home/runner/work/api_data/api_data/docs/data/../../scripts/calculate_hashes.py", line 36, in <module>
    data = yaml.load(f, Loader=yaml.FullLoader)
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/__init__.py", line 81, in load
    return loader.get_single_data()
           ~~~~~~~~~~~~~~~~~~~~~~^^
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/constructor.py", line 51, in get_single_data
    return self.construct_document(node)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/constructor.py", line 60, in construct_document
    for dummy in generator:
                 ^^^^^^^^^
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/constructor.py", line 413, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/constructor.py", line 218, in construct_mapping
    return super().construct_mapping(node, deep=deep)
           ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/constructor.py", line 143, in construct_mapping
    value = self.construct_object(value_node, deep=deep)
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/constructor.py", line 102, in construct_object
    data = constructor(self, tag_suffix, node)
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/constructor.py", line 570, in construct_python_name
    return self.find_python_name(suffix, node.start_mark)
           ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/usr/lib/python3.13/site-packages/yaml/constructor.py", line 556, in find_python_name
    raise ConstructorError("while constructing a Python object", mark,
            "module %r is not imported" % module_name, mark)
yaml.constructor.ConstructorError: while constructing a Python object
module 'easybuild.easyblocks.python' is not imported
  in "eessi_software_metadata-riscv.yaml", line 12123, column 23

It's because the yaml now has a line like

exts_formatter: !!python/name:easybuild.easyblocks.python.partial_normalize_pip ''

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants