Re@sddlZddlmZddlmZddlmZddlmZddl m Z e rddl 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-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/distributions/sdist.pyget_pkg_resources_distributionsz1SourceDistribution.get_pkg_resources_distributioncCsC|jj|jjo|}|r2|j||jjdS)N)r load_pyproject_toml use_pep517_setup_isolationprepare_metadata)rfinderbuild_isolationshould_isolaterrrprepare_distribution_metadatas   z0SourceDistribution.prepare_distribution_metadatacsfdd}jj}|dk s3ttj_jjj||ddjjjjj\}r|d|rtj djtj ddj t t t |jjRtd }jj}|dk s t|j||j}WdQRXWdQRXjjj|\}rb|d jjj||d d dS) Nc sSd}|jdjd|ddjddtD}t|dS)NzZSome build dependencies for {requirement} conflict with {conflicting_with}: {description}. requirementconflicting_with descriptionz, css'|]\}}dj||VqdS)z{} is incompatible with {}N)format).0 installedwantedrrr 6szPSourceDistribution._setup_isolation.._raise_conflicts..)rr joinsortedr)rconflicting_reqs format_string error_message) conflictingrrr_raise_conflicts,s   z=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