@classmethod<EOL><INDENT>def create(cls, path, is_root=False, only_python=False, pythons=None, name=None):<EOL><DEDENT>
target = ensure_path(path)<EOL>guessed_name = False<EOL>if not name:<EOL><INDENT>guessed_name = True<EOL>name = target.name<EOL><DEDENT>creation_args = {<EOL>"<STR_LIT:path>": target,<EOL>"<STR_LIT>": is_root,<EOL>"<STR_LIT>": only_python,<EOL>"<STR_LIT:name>": name,<EOL>}<EOL>if pythons:<EOL><INDENT>creation_args["<STR_LIT>"] = pythons<EOL><DEDENT>_new = cls(**creation_args)<EOL>if pythons and only_python:<EOL><INDENT>children = {}<EOL>child_creation_args = {"<STR_LIT>": False, "<STR_LIT>": only_python}<EOL>if not guessed_name:<EOL><INDENT>child_creation_args["<STR_LIT:name>"] = _new.name  <EOL><DEDENT>for pth, python in pythons.items():<EOL><INDENT>if any(shim in normalize_path(str(pth)) for shim in SHIM_PATHS):<EOL><INDENT>continue<EOL><DEDENT>pth = ensure_path(pth)<EOL>children[pth.as_posix()] = PathEntry(  <EOL>py_version=python, path=pth, **child_creation_args<EOL>)<EOL><DEDENT>_new._children = children<EOL><DEDENT>return _new<EOL>
Helper method for creating new :class:`pythonfinder.models.PathEntry` instances.

        :param str path: Path to the specified location.
        :param bool is_root: Whether this is a root from the environment PATH variable, defaults to False
        :param bool only_python: Whether to search only for python executables, defaults to False
        :param dict pythons: A dictionary of existing python objects (usually from a finder), defaults to None
        :param str name: Name of the python version, e.g. ``anaconda3-5.3.0``
        :return: A new instance of the class.
        :rtype: :class:`pythonfinder.models.PathEntry`