o Ec/ @sddlZddlmZddlmZmZmZddlmZddl m Z m Z ddl m Z dedefd d Zd edefd d ZedgdZdeededededeef ddZdS)N) namedtuple)AnyListOptional)tomli)InvalidRequirement Requirement)InstallationErrorobjreturncCst|to tdd|DS)Ncss|]}t|tVqdS)N) isinstancestr).0itemrJ/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/pyproject.py sz"_is_list_of_str..)r listall)r rrr_is_list_of_str srunpacked_source_directorycCstj|dS)Nzpyproject.toml)ospathjoin)rrrrmake_pyproject_pathsrBuildSystemDetails)requiresbackendcheck backend_path use_pep517pyproject_tomlsetup_pyreq_namec Cstj|}tj|}|s|st|d|r:t|dd }t|}Wdn1s/wY|d}nd}|rM|sM|durJ|sJtdd}n|red|vre|durb|sbtd |dd}n|durk|}|sodS|durzd d gd d }d} d|vrt| j|dd|d} t | st| j|dd| D]} zt | Wqt yt| j|d| dw|d} |dg} g}| durd } d d g}t | | || S)aBLoad the pyproject.toml file. Parameters: use_pep517 - Has the user requested PEP 517 processing? None means the user hasn't explicitly specified. pyproject_toml - Location of the project's pyproject.toml file setup_py - Location of the project's setup.py file req_name - The name of the requirement we're processing (for error reporting) Returns: None if we should use the legacy code path, otherwise a tuple ( requirements from pyproject.toml, name of PEP 517 backend, requirements we should check are installed after setting up the build environment directory paths to import the backend from (backend-path), relative to the project root. ) zW does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found.zutf-8)encodingNz build-systemzIDisabling PEP 517 processing is invalid: project does not have a setup.pyT build-backendzbDisabling PEP 517 processing is invalid: project specifies a build backend of {} in pyproject.tomlzsetuptools>=40.8.0Zwheelz setuptools.build_meta:__legacy__)rr%zO{package} has a pyproject.toml file that does not comply with PEP 518: {reason}rz]it has a 'build-system' table but not 'build-system.requires' which is mandatory in the table)packagereasonz1'build-system.requires' is not a list of strings.z='build-system.requires' contains an invalid requirement: {!r}z backend-path) rrisfiler openrloadgetformatrrrr)r r!r"r#Z has_pyprojectZ has_setupfZpp_tomlZ build_systemZerror_templaterZ requirementrrrrrrload_pyproject_tomls              r.)r collectionsrtypingrrrZ pip._vendorrZ"pip._vendor.packaging.requirementsrrZpip._internal.exceptionsr boolrr rrr.rrrrs,