Current File : //lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-39.pyc |
a
[��f� � @ s� d dl Z d dlmZmZmZ d dlmZ d dlmZ d dl m
Z
d dlmZ d dl
mZ d dlmZ e �e�ZG d d
� d
e�ZdS )� N)�Iterable�Set�Tuple)�BuildEnvironment)�AbstractDistribution)�InstallationError)�
PackageFinder)�BaseDistribution)�runner_with_spinner_messagec @ s� e Zd ZdZed�dd�Zeedd�dd�Zedd �d
d�Z e
e d�dd
�Ze
e d�dd�Z
edd �dd�Zeeeeef dd�dd�ZdS )�SourceDistributionz�Represents a source distribution.
The preparation step for these needs metadata for the packages to be
generated, either using PEP 517 or using the legacy `setup.py egg_info`.
)�returnc C s ddl m} || j�� �S )Nr )�Distribution)Z$pip._internal.metadata.pkg_resourcesr
�reqZget_dist)�selfZ_Dist� r �E/usr/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py�get_metadata_distribution s z,SourceDistribution.get_metadata_distributionN)�finder�build_isolationr c C sF | j �� | j jo|}|r8| �|� | j �� | �|� | j �� d S )N)r Zload_pyproject_tomlZ
use_pep517�_prepare_build_backendZisolated_editable_sanity_check�_install_build_reqsZprepare_metadata)r r r Zshould_isolater r r �prepare_distribution_metadata s
z0SourceDistribution.prepare_distribution_metadata)r r c C s� | j j}|d usJ �t� | j _| j j�||dd� | j j�| j j�\}}|rX| �d|� |r�t� d| j � t� dd�
ttt
|���� d S )NZoverlayzInstalling build dependenciesz"PEP 517/518 supported requirementsz4Missing build requirements in pyproject.toml for %s.z`The project does not specify a build backend, and pip cannot fall back to setuptools without %s.z and )r �pyproject_requiresr � build_env�install_requirements�check_requirementsZrequirements_to_check�_raise_conflicts�loggerZwarning�join�map�repr�sorted)r r r �conflicting�missingr r r r 3 s(
����z)SourceDistribution._prepare_build_backendc C s� | j j�l td�}| j j}|d us&J �|�|��& |�� W d � W d � S 1 s\0 Y W d � n1 sz0 Y d S )Nz#Getting requirements to build wheel)r r r
�pep517_backend�subprocess_runnerZget_requires_for_build_wheel�r ZrunnerZbackendr r r �_get_build_requires_wheelM s
z,SourceDistribution._get_build_requires_wheelc C s� | j j�l td�}| j j}|d us&J �|�|��& |�� W d � W d � S 1 s\0 Y W d � n1 sz0 Y d S )Nz&Getting requirements to build editable)r r r
r$ r% Zget_requires_for_build_editabler&