관리-도구
편집 파일: sdist.cpython-311.pyc
� �܋f_ � � � d dl Z d dlmZmZmZmZmZ d dlmZ d dl m Z d dlmZ d dl mZ d dlmZ erd dlmZ e j e� � Z G d � d e � � ZdS )� N)� TYPE_CHECKING�Iterable�Optional�Set�Tuple)�BuildEnvironment)�AbstractDistribution)�InstallationError)�BaseDistribution)�runner_with_spinner_message)� PackageFinderc �� � e Zd ZdZedee fd�� � Zdefd�Z ddde de dd fd �Zdd�Zde e fd�Zde e fd �Zdd�Zdedeeeef dd fd�Zdee dd fd�Zd S )�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 �@ � | j j sJ �| j j j S )z/Identify this requirement uniquely by its link.)�req�link�url_without_fragment��selfs �X/opt/cloudlinux/venv/lib64/python3.11/site-packages/pip/_internal/distributions/sdist.py�build_tracker_idz#SourceDistribution.build_tracker_id s � � �x�}���}��x�}�1�1� c �4 � | j � � � S )N)r �get_distr s r �get_metadata_distributionz,SourceDistribution.get_metadata_distribution s � ��x� � �"�"�"r �finderr �build_isolation�check_build_depsNc �� � | j � � � | j j o|}|rC| � |� � | j � � � | � |� � | j j o|}|ra| j j }|�J �| j j � |� � \ }}|r| � d|� � |r| � |� � | j � � � d S )N�the backend dependencies)r �load_pyproject_toml� use_pep517�_prepare_build_backend�isolated_editable_sanity_check�_install_build_reqs�pyproject_requires� build_env�check_requirements�_raise_conflicts�_raise_missing_reqs�prepare_metadata) r r r r �should_isolate�should_check_depsr'