a
lj/ @ s d dl Z d dlmZ d dlmZmZmZ d dlmZ d dl m
Z
mZ d dlm
Z
eeddd Zeed
ddZed
g dZee eeeee dddZdS ) N)
namedtuple)AnyListOptional)tomli)InvalidRequirementRequirement)InstallationError)objreturnc C s t | totdd | D S )Nc s s | ]}t |tV qd S )N)
isinstancestr).0item r ;/usr/lib/python3.9/site-packages/pip/_internal/pyproject.py z"_is_list_of_str..)r listall)r
r r r _is_list_of_str s r )unpacked_source_directoryr c C s t j| dS )Nzpyproject.toml)ospathjoin)r r r r make_pyproject_path s r BuildSystemDetails)requiresbackendcheckbackend_path)
use_pep517pyproject_tomlsetup_pyreq_namer c
C s t j|}t j|}|s.|s.t| d|rtt|dd}t|}W d n1 s^0 Y |d}nd}|r|s| dur| stdd} n<|rd|v r| dur| std |d d} n| du r|} | dusJ | sdS |du rd
dgdd
}|dusJ d} d|vr0t| j|dd|d }
t |
sTt| j|dd|
D ]@}zt
| W n, ty t| j|d|dY n0 qX|d}|dg }
g }|du rd}d
dg}t|
|||
S )aB Load 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)encodingNzbuild-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__)r r&