U .eZ@sddlmZddlZddlZddlZddlmZmZddlm Z ddl m Z e rhddl m Z mZmZmZddZd d Zd d ZdS) )absolute_importN)pytomlsix)InstallationError)MYPY_CHECK_RUNNING)AnyTupleOptionalListcCst|totdd|DS)Ncss|]}t|tjVqdS)N) isinstancerZ string_types).0itemr;/usr/lib/python3.8/site-packages/pip/_internal/pyproject.py sz"_is_list_of_str..)r listall)objrrr_is_list_of_strs rcCs2tj|d}tjr.t|tjr.|t }|S)Nzpyproject.toml) ospathjoinrZPY2r Z text_typeencodesysgetfilesystemencoding)Zunpacked_source_directoryrrrrmake_pyproject_pathsrc Cs<tj|}tj|}|rLtj|dd}t|}W5QRX|d}nd}|rr|sr|dk rl|sltdd}n<|rd|kr|dk r|std |dd}n |dkr|}|sdS|dkrd d gd d }d } d|krt| j |dd|d} t | st| j |dd|d} g} | dkr2d } d d g} | | | fS)aLoad 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 ) zutf-8)encodingz build-systemNzIDisabling 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__)requiresrzO{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.) rrisfileioopenrloadgetrformatr) Z use_pep517Zpyproject_tomlZsetup_pyZreq_nameZ has_pyprojectZ has_setupfZpp_tomlZ build_systemZerror_templaterZbackendZcheckrrrload_pyproject_toml#sb          r()Z __future__rr"rrZ pip._vendorrrZpip._internal.exceptionsrZpip._internal.utils.typingrtypingrrr r rrr(rrrrs