@classmethod<EOL><INDENT>def create(<EOL>cls,<EOL>path=None,  <EOL>system=False,  <EOL>only_python=False,  <EOL>global_search=True,  <EOL>ignore_unsupported=True,  <EOL>):<EOL><DEDENT>
path_entries = defaultdict(<EOL>PathEntry<EOL>)  <EOL>paths = []  <EOL>if ignore_unsupported:<EOL><INDENT>os.environ["<STR_LIT>"] = fs_str("<STR_LIT:1>")<EOL><DEDENT>if global_search:<EOL><INDENT>if "<STR_LIT>" in os.environ:<EOL><INDENT>paths = os.environ["<STR_LIT>"].split(os.pathsep)<EOL><DEDENT><DEDENT>if path:<EOL><INDENT>paths = [path] + paths<EOL><DEDENT>paths = [p for p in paths if not any(is_in_path(p, shim) for shim in SHIM_PATHS)]<EOL>_path_objects = [ensure_path(p.strip('<STR_LIT:">')) for p in paths]<EOL>paths = [p.as_posix() for p in _path_objects]<EOL>path_entries.update(<EOL>{<EOL>p.as_posix(): PathEntry.create(<EOL>path=p.absolute(), is_root=True, only_python=only_python<EOL>)<EOL>for p in _path_objects<EOL>}<EOL>)<EOL>instance = cls(<EOL>paths=path_entries,<EOL>path_order=paths,<EOL>only_python=only_python,<EOL>system=system,<EOL>global_search=global_search,<EOL>ignore_unsupported=ignore_unsupported,<EOL>)<EOL>instance = instance._run_setup()<EOL>return instance<EOL>
Create a new :class:`pythonfinder.models.SystemPath` instance.

        :param path: Search path to prepend when searching, defaults to None
        :param path: str, optional
        :param bool system: Whether to use the running python by default instead of searching, defaults to False
        :param bool only_python: Whether to search only for python executables, defaults to False
        :param bool ignore_unsupported: Whether to ignore unsupported python versions, if False, an error is raised, defaults to True
        :return: A new :class:`pythonfinder.models.SystemPath` instance.
        :rtype: :class:`pythonfinder.models.SystemPath`