{"record":{"id":"54109bd34aeab893","repo":"pypa/pip","slug":"error-parsing-path-e","errorCode":null,"errorMessage":"Error parsing {path}: {e}","messagePattern":"Error parsing (.+?): (.+?)","errorType":"validation","errorClass":"InstallationError","httpStatus":null,"severity":"error","filePath":"src/pip/_internal/req/req_dependency_group.py","lineNumber":84,"sourceCode":"                f\"[dependency-groups] data was invalid in {path}: {'; '.join(messages)}\"\n            ) from eg\n\n    return resolvers\n\n\ndef _load_pyproject(path: str) -> dict[str, Any]:\n    \"\"\"\n    This helper loads a pyproject.toml as TOML.\n\n    It raises an InstallationError if the operation fails.\n    \"\"\"\n    try:\n        with open(path, \"rb\") as fp:\n            return tomllib.load(fp)\n    except FileNotFoundError:\n        raise InstallationError(f\"{path} not found. Cannot resolve '--group' option.\")\n    except tomllib.TOMLDecodeError as e:\n        raise InstallationError(f\"Error parsing {path}: {e}\") from e\n    except OSError as e:\n        raise InstallationError(f\"Error reading {path}: {e}\") from e\n","sourceCodeStart":66,"sourceCodeEnd":87,"githubUrl":"https://github.com/pypa/pip/blob/f399c3718970b1b0e2478dac5296eb62679a9b86/src/pip/_internal/req/req_dependency_group.py#L66-L87","documentation":"The pyproject.toml file exists but contains invalid TOML syntax. The _load_pyproject helper caught a tomllib.TOMLDecodeError (e.g. duplicate keys, unclosed brackets, invalid escape sequences) and wrapped it in an InstallationError.","triggerScenarios":"pyproject.toml has a syntax error such as a duplicate table header, an unterminated string, or an invalid value. tomllib.load() raises TOMLDecodeError.","commonSituations":"Hand-editing pyproject.toml and introducing a typo. Merge conflicts leaving conflict markers (<<<<<<<) in the file. Tooling that generates malformed TOML. Missing quotes around values.","solutions":["Validate the TOML: 'python -c \"import tomllib; tomllib.load(open('pyproject.toml','rb'))\"' to get a line-number error","Check for merge-conflict markers and remove them","Look for duplicate keys or table headers","Use a TOML linter or IDE with TOML validation"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"from pip._internal.utils.compat import tomllib\n\ndef validate_pyproject_toml(path: str) -> bool:\n    try:\n        with open(path, \"rb\") as fp:\n            tomllib.load(fp)\n        return True\n    except tomllib.TOMLDecodeError:\n        return False\n\nif not validate_pyproject_toml(\"pyproject.toml\"):\n    print(\"pyproject.toml has TOML syntax errors\")","typeGuard":"from pip._internal.utils.compat import tomllib\n\ndef is_valid_toml_file(path: str) -> bool:\n    \"\"\"Type guard: True if the file parses as valid TOML.\"\"\"\n    try:\n        with open(path, \"rb\") as fp:\n            tomllib.load(fp)\n        return True\n    except (tomllib.TOMLDecodeError, OSError):\n        return False","tryCatchPattern":"from pip._internal.exceptions import InstallationError\nfrom pip._internal.req.req_dependency_group import parse_dependency_groups\n\ntry:\n    reqs = parse_dependency_groups([(\"pyproject.toml\", \"dev\")])\nexcept InstallationError as e:\n    if \"Error parsing\" in str(e):\n        print(\"Fix TOML syntax in pyproject.toml\")\n    else:\n        raise","preventionTips":["Validate pyproject.toml with tomllib.load() before running pip --group","Use a TOML linter or IDE with TOML validation","Check for merge-conflict markers after resolving git conflicts"],"tags":["pip","dependency-groups","toml","parsing","pyproject"],"backgroundTag":null,"analyzedSha":"f399c3718970b1b0e2478dac5296eb62679a9b86","analyzedAt":"2026-08-08T23:01:42.227Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}