관리-도구
편집 파일: 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&���r���r���r����_get_build_requires_editableU���s���� �z/SourceDistribution._get_build_requires_editablec�����������������C���sf���|�j�jr$|�j�jr$|�j����r$|����}n|����}|�j�j�|�\}}|rN|��d|��|�j�j� ||dd��d�S�)Nzthe backend dependenciesZnormalzInstalling backend dependencies) r���ZeditableZpermit_editable_wheelsZsupports_pyproject_editabler(���r'���r���r���r���r���)r���r���Z build_reqsr"���r#���r���r���r���r���_���s������� �z&SourceDistribution._install_build_reqs)�conflicting_with�conflicting_reqsr���c�����������������C���s6���d}|j�|�j|d�dd��t|�D���d�}t|��d�S�)NzZSome build dependencies for {requirement} conflict with {conflicting_with}: {description}.z, c�����������������s���s ���|�]\}}|��d�|���V��qdS�)z is incompatible with Nr���)�.0Z installedZwantedr���r���r���� <genexpr>|���s����z6SourceDistribution._raise_conflicts.<locals>.<genexpr>)Zrequirementr)����description)�formatr���r���r!���r���)r���r)���r*���� format_stringZ error_messager���r���r���r���r���s����� ��z#SourceDistribution._raise_conflicts)�__name__� __module__�__qualname__�__doc__r ���r���r����boolr���r���r����strr'���r(���r���r���r���r���r���r���r���r���r������s���� �r���)Zlogging�typingr���r���r���Zpip._internal.build_envr���Z pip._internal.distributions.baser���Zpip._internal.exceptionsr���Z"pip._internal.index.package_finderr���Zpip._internal.metadatar ���Zpip._internal.utils.subprocessr ���Z getLoggerr0���r���r���r���r���r���r����<module>���s���