Source code for pylablib.core.utils.cext_tools

import contextlib

pyd_load_error_msg="could not load C extensions: {}\nInstall the package from the appropriate binary distribution, or install an appropriate C compiler if you use the source distribution"
pyd_load_warn_msg="could not load C extensions: {}\nUsing a fallback instead, which might hurt the performance.\nTo avoid, install the package from the appropriate binary distribution, or install an appropriate C compiler if you use the source distribution"

[docs] @contextlib.contextmanager def try_import_cext(): """Context manager for trying to import a possibly missing C extension; if an error arises, re-raises with a more detailed message""" try: yield except ImportError as err: raise ImportError(pyd_load_error_msg.format(err))