Load a module by name and search path

    Returns None if Module could not be loaded.

def load_module(module_name, file_path):
    """
    Load a module by name and search path

    Returns None if Module could not be loaded.
    """
    if sys.version_info >= (3,5,):
        import importlib.util

        spec = importlib.util.spec_from_file_location(module_name, file_path)
        if not spec:
            return

        module = importlib.util.module_from_spec(spec)
        spec.loader.exec_module(module)

        return module
    else:
        import imp
        mod = imp.load_source(module_name, file_path)
        return mod