관리-도구
편집 파일: pyproject.cpython-310.pyc
o ƚRe/ � @ s� d dl Z d dlmZ d dlmZmZmZ d dlmZ d dl m Z mZ d dlm Z dedefd d �Zdedefdd �Zedg d��Zdee dedededee f dd�ZdS )� N)� namedtuple)�Any�List�Optional)�tomli)�InvalidRequirement�Requirement)�InstallationError�obj�returnc C s t | t�o tdd� | D ��S )Nc s s � | ]}t |t�V qd S )N)� isinstance�str)�.0�item� r ��/builddir/build/BUILDROOT/alt-python310-pip-21.3.1-3.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/pyproject.py� <genexpr> s � z"_is_list_of_str.<locals>.<genexpr>)r �list�all)r r r r �_is_list_of_str s r �unpacked_source_directoryc C s t j�| d�S )Nzpyproject.toml)�os�path�join)r r r r �make_pyproject_path s r �BuildSystemDetails)�requires�backend�check�backend_path� use_pep517�pyproject_toml�setup_py�req_namec C s� t j�|�}t j�|�}|s|st|� d���|r:t|dd�� }t�|�}W d � n1 s/w Y |�d�}nd}|rM|sM| durJ| sJtd��d} n|red|v re| durb| sbtd �|d ���d} n| du rk|} | dusqJ �| sudS |du r�d dgdd �}|dus�J �d} d|vr�t| j|dd���|d } t | �s�t| j|dd���| D ]}zt |� W q� ty� t| j|d�|�d���w |�d�}|�dg �} g }|du r�d}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.0�wheelz setuptools.build_meta:__legacy__)r r% zO{package} has a pyproject.toml file that does not comply with PEP 518: {reason}r z]it has a 'build-system' table but not 'build-system.requires' which is mandatory in the table)�package�reasonz1'build-system.requires' is not a list of strings.z='build-system.requires' contains an invalid requirement: {!r}zbackend-path) r r �isfiler �openr �load�get�formatr r r r )r r! r"