U n a@s:ddlmZddlmZmZddlmZddlmZddl m Z m Z m Z m Z mZddlmZmZmZer&ddlmZmZmZmZmZmZdd lmZdd lmZdd lmZdd l m!Z!dd l"m#Z#ddl$m%Z%ddl&m'Z'ddl(m)Z)ddl*m+Z+ddl,m-Z-m.Z.ddl m/Z/edZ0ee%e0fZ1Gddde2Z3dS))canonicalize_name)InstallationErrorUnsupportedPythonVersion)get_installed_distributions)MYPY_CHECK_RUNNING)AlreadyInstalledCandidateEditableCandidateExtrasCandidate LinkCandidateRequiresPythonCandidate)ExplicitRequirementRequiresPythonRequirementSpecifierRequirement)DictIteratorOptionalSetTupleTypeVar) SpecifierSet) _BaseVersion) Distribution)ResolutionImpossible) PackageFinder)Link)RequirementPreparer)InstallRequirement)InstallRequirementProvider) Candidate Requirement) BaseCandidateCc@s`eZdZdddZddZdddZdd Zd d Zd d ZddZ ddZ ddZ ddZ dS)FactoryNcCsV||_||_t||_||_||_||_i|_i|_|sLddt D|_ ni|_ dS)NcSsi|]}t|j|qS)r project_name).0distr$r$lC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_internal\resolution\resolvelib\factory.py Csz$Factory.__init__..) finderpreparerr _python_candidate_make_install_req_from_spec_force_reinstall_ignore_requires_python_link_candidate_cache_editable_candidate_cacher_installed_dists)selfr*r+make_install_reqforce_reinstallignore_installedignore_requires_pythonpy_version_infor$r$r(__init__-s   zFactory.__init__cCs t|||d}|rt||S|S)Nfactory)rr )r3r'extrasparentbaser$r$r(_make_candidate_from_distJs z!Factory._make_candidate_from_distcCsr|jr4||jkr(t|||||d|j|<|j|}n,||jkrVt|||||d|j|<|j|}|rnt||S|S)N)r;nameversion)editabler1r r0r r )r3linkr<r=r@rAr>r$r$r(_make_candidate_from_linkVs,        z!Factory._make_candidate_from_linkccst|jj}|js |j|}nd}|jj|jj|jj|j ddd}| D]4}|dk rh|j |j krhqN|j |j||||j dVqN|dk r|j |jjkr|j|||dVdS)NF)trust_internet)r% specifierhashes)rCr<r=r@rA)r'r<r=)rreqr@r.r2getr*find_best_candidaterFrGiter_applicableparsed_versionrArDrCr?)r3ireqr<r@Zinstalled_distfoundZicanr$r$r(iter_found_candidatesqs:      zFactory.iter_found_candidatescCs.|jr"|j|jt|d}t|St||dS)N)r<r=r:)rCrDsetr r)r3rMZcandr$r$r(!make_requirement_from_install_reqsz)Factory.make_requirement_from_install_reqcCs|||}||SN)r-rQ)r3rF comes_fromrMr$r$r(make_requirement_from_specs z"Factory.make_requirement_from_speccCs|js|dkrdSt||jSrR)r/rr,)r3rFr$r$r( make_requires_python_requirementsz(Factory.make_requires_python_requirementcCs |j|jkSrR)r@r2)r3 candidater$r$r(should_reinstallszFactory.should_reinstallcCs(d}|j|j|jjt|jd}t|S)NzOPackage {package!r} requires a different Python: {version} not in {specifier!r})packagerArF)formatr@r,rAstrrFr)r3 requirementr=templatemessager$r$r(_report_requires_python_errorsz%Factory._report_requires_python_errorcCs0|jD]$}t|jtr||j|jSqdSrR)Zcauses isinstancer[rr^r=)r3ecauser$r$r(get_installation_errors   zFactory.get_installation_error)N)NN) __name__ __module__ __qualname__r9r?rDrOrQrTrUrWr^rbr$r$r$r(r#,s  # r#N)4pip._vendor.packaging.utilsrpip._internal.exceptionsrrpip._internal.utils.miscrpip._internal.utils.typingr candidatesrr r r r requirementsr rrtypingrrrrrrZ pip._vendor.packaging.specifiersrpip._vendor.packaging.versionrZpip._vendor.pkg_resourcesrZpip._vendor.resolvelibr"pip._internal.index.package_finderrpip._internal.models.linkr pip._internal.operations.preparerZpip._internal.req.req_installrpip._internal.resolution.baserr>rr r!r"Cacheobjectr#r$r$r$r(s*