3 ”Re…(ã @sNddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z ddlmZmZddlmZdd lmZmZdd lmZmZdd lmZe�r dd lmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$dd l%m&Z&ddl m'Z'm(Z(e"ee$e)e(fe*ee)fZ+ej,e-ƒZ.ddddddddff dd„Z/dd„Z0Gdd„de1ƒZ2dS)é)Úabsolute_importN)Úsix)Úcanonicalize_name)ÚRequirementParseError)Ú BadCommandÚInstallationError)Úinstall_req_from_editableÚinstall_req_from_line)Ú COMMENT_RE)Ú%direct_url_as_pep440_direct_referenceÚdist_get_direct_url)Údist_is_editableÚget_installed_distributions)ÚMYPY_CHECK_RUNNING) ÚIteratorÚOptionalÚListÚ ContainerÚSetÚDictÚTupleÚIterableÚUnion)Ú WheelCache)Ú DistributionÚ RequirementFc csÐ|pg}x|D]} dj| ƒVqWi} xpt|f||d�D]\} ytj| ƒ} Wn2tk r|} ztjd| | ƒw8WYdd} ~ XnX|rŠ| jrŠq8| | | j<q8W|�r’t ƒ}t j t ƒ}�x–|D�]Œ}t |ƒ��x}�xn|D�]d}|jƒ �sþ|jƒjdƒ�sþ|jd ƒ�r |jƒ}||krÐ|j|ƒ|VqÐ|jdƒ�s8|jdƒ�r~|jdƒ�rV|dd…jƒ}n|tdƒd…jƒjdƒ}t||d�}nttjd|ƒjƒ|d�}|j�s¼tjd||jƒƒtjdƒqÐt|jƒ}|| k�r||j�sütjd|tjd|ƒjƒ|jƒn||jj|ƒqÐt| |ƒjƒV| |=||jj|ƒqÐWWdQRXq¶WxBtj|ƒD]4\}}t|ƒdk�rTtjd|djt t |ƒƒƒƒ�qTWdVx8t | j!ƒdd„d�D] }|j|k�r¨t|ƒjƒV�q¨WdS)!Nz-f {})Ú local_onlyÚskipÚ user_onlyÚpathsz6Could not generate requirement for distribution %r: %sú#ú-rú --requirementú-fú --find-linksú-iú --index-urlú--preú--trusted-hostú--process-dependency-linksú--extra-index-urlú --use-featurez-ez --editableéú=)ÚisolatedÚzWSkipping line in requirement file [%s] because it's not clear what it would install: %sz9 (add #egg=PackageName to the URL to avoid this warning)zBRequirement file [%s] contains %s, but package %r is not installedéz+Requirement %s included multiple times [%s]z, z7## The following requirements were added by pip freeze:cSs |jjƒS)N)ÚnameÚlower)Úx©r4úŽ/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/operations/freeze.pyÚªszfreeze..)Úkey) r!r"r#r$r%r&r'r(r)r*r+)"ÚformatrÚFrozenRequirementÚ from_distrÚloggerÚwarningÚeditableÚcanonical_nameÚsetÚ collectionsÚ defaultdictÚlistÚopenÚstripÚ startswithÚrstripÚaddÚlenÚlstriprr r Úsubr1ÚinforÚappendÚstrrÚ iteritemsÚjoinÚsortedÚvalues)Ú requirementÚ find_linksrrrr.Ú wheel_cacheZexclude_editablerÚlinkZ installationsÚdistÚreqÚexcZemitted_optionsZ req_filesZ req_file_pathÚreq_fileÚlineZline_reqZline_req_canonical_namer1ÚfilesZ installationr4r4r5Úfreeze*s               " r\cCsFt|ƒsddgfStjjtjj|jƒƒ}ddlm}m}|j |ƒ}|dkrv|j ƒ}t j d||ƒdj |ƒg}|d|fSy|j||jƒ}WnŒ|k r¾|j ƒ}dj t|ƒj|ƒg}|d|fStk ræt jd ||jƒddgfStk �r}zt jd |ƒWYdd}~XnX|dk �r*|dgfSt jd |ƒd g}dd|fS) zk Compute and return values (req, editable, comments) for use in FrozenRequirement.from_dist(). NFr)ÚvcsÚRemoteNotFoundErrorz1No VCS found for editable requirement "%s" in: %rz/# Editable install with no version control ({})Tz)# Editable {} install with no remote ({})zPcannot determine version of editable source in %s (%s command not found in path)zYError when trying to get requirement for VCS system %s, falling back to uneditable formatz-Could not determine repository location of %sz-## !! Could not determine repository location)r ÚosÚpathÚnormcaseÚabspathÚlocationÚpip._internal.vcsr]r^Úget_backend_for_dirÚas_requirementr;Údebugr8Úget_src_requirementÚ project_nameÚtypeÚ__name__rr<r1r)rVrcr]r^Ú vcs_backendrWÚcommentsrXr4r4r5Úget_requirement_info¯sF        rnc@s,eZdZffdd„Zedd„ƒZdd„ZdS)r9cCs&||_t|ƒ|_||_||_||_dS)N)r1rr>rWr=rm)Úselfr1rWr=rmr4r4r5Ú__init__îs  zFrozenRequirement.__init__cCsZt|ƒ\}}}|dkr8| r8t|ƒ}|r8t||jƒ}g}|dkrH|jƒ}||j|||d�S)N)rm)rnr r rirf)ÚclsrVrWr=rmÚ direct_urlr4r4r5r:ös zFrozenRequirement.from_distcCs4|j}|jrdj|ƒ}djt|jƒt|ƒgƒdS)Nz-e {}Ú )rWr=r8rOrBrmrM)rorWr4r4r5Ú__str__ s zFrozenRequirement.__str__N)rkÚ __module__Ú __qualname__rpÚ classmethodr:rtr4r4r4r5r9ís  r9)3Ú __future__rr@Úloggingr_Ú pip._vendorrZpip._vendor.packaging.utilsrZpip._vendor.pkg_resourcesrÚpip._internal.exceptionsrrÚpip._internal.req.constructorsrr Zpip._internal.req.req_filer Ú&pip._internal.utils.direct_url_helpersr r Úpip._internal.utils.miscr rÚpip._internal.utils.typingrÚtypingrrrrrrrrrÚpip._internal.cacherrrrMÚboolZRequirementInfoÚ getLoggerrkr;r\rnÚobjectr9r4r4r4r5Ús:      ,   |>