Re@sddlmZddlZddlZddlZddlmZddlmZm Z ddl m Z m Z ddl mZddlmZerddlmZmZmZd d Zd d Zed ddddgZddZdS))absolute_importN) namedtuple)sixtoml)InvalidRequirement Requirement)InstallationError)MYPY_CHECK_RUNNING)AnyOptionalListcCs&t|to%tdd|DS)Ncss!|]}t|tjVqdS)N) isinstancer string_types).0itemr/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/pyproject.py sz"_is_list_of_str..)r listall)objrrr_is_list_of_strsrcCsItjj|d}tjrEt|tjrE|jtj }|S)Nzpyproject.toml) ospathjoinrPY2r text_typeencodesysgetfilesystemencoding)unpacked_source_directoryrrrrmake_pyproject_pathsr!BuildSystemDetailsrequiresbackendcheck backend_pathcCsgtjj|}tjj|}|rjtj|dd}tj|}WdQRX|jd}nd}|r| r|dk r| rtdd}nY|rd|kr|dk r| rtdj |dd}n|dkr|}|dk st |sdS|dkr>d d d gdd i}|dk sPt d } d |krt| j d|dd|d } t | st| j d|ddxX| D]P} yt | Wqt k r t| j d|ddj | YqXqW|jd} |jdg} g}| dkrTd } 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. ) encodingzutf-8Nz build-systemzIDisabling PEP 517 processing is invalid: project does not have a setup.pyTz build-backendzbDisabling PEP 517 processing is invalid: project specifies a build backend of {} in pyproject.tomlr#zsetuptools>=40.8.0wheelz setuptools.build_meta:__legacy__zO{package} has a pyproject.toml file that does not comply with PEP 518: {reason}packagereasonz]it has a 'build-system' table but not 'build-system.requires' which is mandatory in the tablez1'build-system.requires' is not a list of strings.z='build-system.requires' contains an invalid requirement: {!r}z backend-path)rrisfileioopenrloadgetrformatAssertionErrorrrrr") use_pep517pyproject_tomlsetup_pyreq_name has_pyproject has_setupfpp_toml build_systemerror_templater# requirementr$r&r%rrrload_pyproject_toml*sj                  r=) __future__rr,rr collectionsr pip._vendorrrZ"pip._vendor.packaging.requirementsrrpip._internal.exceptionsrpip._internal.utils.typingr typingr r r rr!r"r=rrrrs