ó vÆ_c@sdZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z mZmZmZmZmZddlmZddlmZdd lmZdd lmZmZmZmZdd lmZdd l m!Z!dd l"m#Z#ddl$m%Z%e!rtddl&m'Z'm(Z(m)Z)m*Z*ddl+m,Z,ddlm-Z-ddl.m/Z/ddl0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7ddlm8Z8ere,die'e9e(e9ge(e9fd6e:d6de;ƒZ<qte,die'e9e9gdfd6e'e9e(e9ge(e9fd6e:d6e:d6de;ƒZ<nej>e?ƒZ@d„ZAd„ZBd eCfd!„ƒYZDddd"„ZEd#„ZFd$„ZGddd%„ZHddd&„ZId'„ZJd(„ZKd)eCfd*„ƒYZLdS(+s)Prepares a distribution for installation iÿÿÿÿN(tPY2(t)make_distribution_for_install_requirement(tInstalledDistribution(tDirectoryUrlHashUnsupportedt HashMismatcht HashUnpinnedtInstallationErrortNetworkConnectionErrortPreviousBuildDirErrortVcsHashUnsupported(t copy2_fixed(t MissingHashes(t indent_log(t display_paththide_urltpath_to_displaytrmtree(t TempDirectory(tMYPY_CHECK_RUNNING(t unpack_file(tvcs(tCallabletListtOptionaltTuple(t TypedDict(tAbstractDistribution(t PackageFinder(tLink(t Downloader(tInstallRequirement(tRequirementTracker(tHashestCopytreeKwargstignoretsymlinksttotalt copy_functiontignore_dangling_symlinkscCs6t|ƒ}|j|ƒ|j||ƒWdQX|S(s-Prepare a distribution for installation. N(Rttracktprepare_distribution_metadata(treqt req_trackertfindertbuild_isolationt abstract_dist((sQ/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/operations/prepare.pyt_get_prepared_distributionPs cCsDtj|jƒ}|dk s$t‚|j|dt|jƒƒdS(Nturl(Rtget_backend_for_schemetschemetNonetAssertionErrortunpackRR/(tlinktlocationt vcs_backend((sQ/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/operations/prepare.pytunpack_vcs_link_stFilecBseZd„ZRS(cCs||_||_dS(N(tpatht content_type(tselfR:R;((sQ/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/operations/prepare.pyt__init__gs (t__name__t __module__R=(((sQ/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/operations/prepare.pyR9fscCsƒtdddtƒ}d}|r6t|||ƒ}n|rX|}tj|ƒd}nt|||j|ƒ\}}t||ƒS(NtkindR4tglobally_managedi( RtTrueR2t_check_download_dirt mimetypest guess_typet_download_http_urlR:R9(R5t downloadert download_dirthashesttemp_dirtalready_downloaded_patht from_pathR;((sQ/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/operations/prepare.pyt get_http_urlmscCsVyt||ƒWn>tjk rQ}tjdt|ƒt|ƒt|ƒƒnXdS(sÆCopying special files is not supported, but as a convenience to users we skip errors copying them. This supports tools that may create e.g. socket files in the project source directory. s>Ignoring special file error '%s' encountered copying %s to %s.N(R tshutiltSpecialFileErrortloggertwarningtstrR(tsrctdestte((sQ/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/operations/prepare.pyt_copy2_ignoring_special_filesˆs  csŠtjj|ƒ}tjj|ƒ‰tjj|ƒ‰‡‡‡fd†}td|dtƒ}tsst|dR?t__doc__R=tpropertyRŒRR’R–R‰RR¡R¦(((sQ/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/operations/prepare.pyR‚=s -  ! 4 (MR§tloggingRDRWRNtpip._vendor.sixRtpip._internal.distributionsRt%pip._internal.distributions.installedRtpip._internal.exceptionsRRRRRRR tpip._internal.utils.filesystemR tpip._internal.utils.hashesR tpip._internal.utils.loggingR tpip._internal.utils.miscR RRRtpip._internal.utils.temp_dirRtpip._internal.utils.typingRtpip._internal.utils.unpackingRtpip._internal.vcsRttypingRRRRtmypy_extensionsRRt"pip._internal.index.package_finderRtpip._internal.models.linkRtpip._internal.network.downloadRtpip._internal.req.req_installRtpip._internal.req.req_trackerRR RRtboolR‰R!R2t getLoggerR>RPR.R8tobjectR9RMRVRfRiRpRFRCR‚(((sQ/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/operations/prepare.pytsp    4 ""          " " +