{
  "id": "pip/package-has-no-pyproject-toml-or-setup-py",
  "signature": "ERROR: Package 'X' has no 'pyproject.toml' or 'setup.py'",
  "signature_zh": "错误：包 'X' 没有 'pyproject.toml' 或 'setup.py'",
  "regex": "ERROR: Package '[^']+' has no 'pyproject\\.toml' or 'setup\\.py'",
  "domain": "pip",
  "category": "install_error",
  "subcategory": null,
  "root_cause": "The package is either not a valid Python package, the index URL is wrong, or the package name is misspelled, causing pip to fail to find any build metadata.",
  "root_cause_type": "generic",
  "root_cause_zh": "该包要么不是有效的 Python 包，要么索引 URL 错误，或者包名拼写错误，导致 pip 无法找到任何构建元数据。",
  "versions": [
    {
      "version": "pip 21.3+",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Python 3.7-3.12",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "Installing the package with --no-build-isolation flag",
      "why_fails": "The flag only disables build isolation; if the package has no build files at all, this still fails.",
      "fail_rate": 0.95,
      "condition": "",
      "sources": []
    },
    {
      "action": "Upgrading pip to the latest version",
      "why_fails": "The error is about missing package metadata, not pip's resolver or version compatibility.",
      "fail_rate": 0.9,
      "condition": "",
      "sources": []
    },
    {
      "action": "Running pip install with --verbose to get more details",
      "why_fails": "Verbose output does not provide missing build files; the root cause remains the same.",
      "fail_rate": 0.85,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "pip install --no-index --find-links=/path/to/wheels <package>",
      "success_rate": 0.7,
      "how": "pip install --no-index --find-links=/path/to/wheels <package>",
      "condition": "",
      "sources": []
    },
    {
      "action": "pip install <package>==<exact_version> --only-binary=:all:",
      "success_rate": 0.75,
      "how": "pip install <package>==<exact_version> --only-binary=:all:",
      "condition": "",
      "sources": []
    },
    {
      "action": "pip install <package> -i https://pypi.org/simple/ --trusted-host pypi.org",
      "success_rate": 0.85,
      "how": "pip install <package> -i https://pypi.org/simple/ --trusted-host pypi.org",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "pip install --no-index --find-links=/path/to/wheels <包名>",
    "pip install <包名>==<确切版本> --only-binary=:all:",
    "pip install <包名> -i https://pypi.org/simple/ --trusted-host pypi.org"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://pip.pypa.io/en/stable/topics/packaging/",
  "official_doc_section": null,
  "error_code": "ERROR",
  "verification_tier": "ai_generated",
  "confidence": 0.85,
  "fix_success_rate": 0.8,
  "resolvable": "true",
  "first_seen": "2023-05-10",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}