3 Bu_@sddlZddlmZddlmZddlmZddlmZddl m Z e rpddl m Z m Z ddlmZdd lmZejeZGd d d eZdS) N)BuildEnvironment)AbstractDistribution)InstallationError)runner_with_spinner_message)MYPY_CHECK_RUNNING)SetTuple) Distribution) PackageFinderc@s(eZdZdZddZddZddZdS) SourceDistributionzRepresents 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`. cCs |jjS)N)reqget_dist)selfr/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-1.el7.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/distributions/sdist.pyget_pkg_resources_distributionsz1SourceDistribution.get_pkg_resources_distributioncCs2|jj|jjo|}|r$|j||jjdS)N)r load_pyproject_toml use_pep517_setup_isolationprepare_metadata)rfinderbuild_isolationshould_isolaterrrprepare_distribution_metadatas    z0SourceDistribution.prepare_distribution_metadatacsfdd}jj}|dk s"ttj_jjj||ddjjjjj\}rd|d|rtj djtj ddj t t t |jj@td }jj}|dk st|j||j}WdQRXWdQRXjjj|\}r|d jjj||d d dS) Ncs6d}|jj|djddtDd}t|dS)NzZSome build dependencies for {requirement} conflict with {conflicting_with}: {description}.z, css|]\}}dj||VqdS)z{} is incompatible with {}N)format).0 installedwantedrrr 6szPSourceDistribution._setup_isolation.._raise_conflicts..) requirementconflicting_with description)rr joinsortedr)r conflicting_reqs format_string error_message) conflictingrrr_raise_conflicts,sz=SourceDistribution._setup_isolation.._raise_conflictsoverlayzInstalling 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 z#Getting requirements to build wheelzthe backend dependenciesnormalzInstalling backend dependencies)r pyproject_requiresAssertionErrorr build_envinstall_requirementscheck_requirementsrequirements_to_checkloggerwarningr"mapreprr#rpep517_backendsubprocess_runnerget_requires_for_build_wheel)rrr(r+missingrunnerbackendreqsr)r'rrr*s@      z#SourceDistribution._setup_isolationN)__name__ __module__ __qualname____doc__rrrrrrrr s r )loggingpip._internal.build_envr pip._internal.distributions.baserpip._internal.exceptionsrpip._internal.utils.subprocessrpip._internal.utils.typingrtypingrrZpip._vendor.pkg_resourcesr "pip._internal.index.package_finderr getLoggerr<r1r rrrrs