0vPddlmZddlZddlZddlZddlZddlZddlZddlZddl m Z m Z ddl m Z ddlmZddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddl m!Z!m"Z"ddl#m$Z$m%Z%ddl&m'Z'ddl(m)Z)m*Z*m+Z+m,Z,ddl-m.Z.ddl/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:m;Z;ddlm?Z?ddl@mAZAddlBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJddlKmLZLddlMmNZNddlOmPZPmQZQdd lRmSZSdd!lTmUZUdd"lVmWZWejXeYZZGd#d$Z[d0d(Z\d1d/Z]dS)2) annotationsN) CollectionIterable)Values)Path)Any)Marker) Requirement) SpecifierSet)canonicalize_name)Version)parse)BuildBackendHookCaller)BuildEnvironmentNoOpBuildEnvironment)InstallationErrorPreviousBuildDirError) get_scheme)BaseDistributionget_default_environmentget_directory_distributionget_wheel_distribution)FilesystemWheel) DirectUrl)Link)generate_metadata)generate_editable_metadata) install_wheel)load_pyproject_tomlmake_pyproject_path)UninstallPathSet) deprecated)Hashes) ConfiguredBuildBackendHookCallerask_path_exists backup_dir display_pathhide_urlis_installable_dirredact_auth_from_requirementredact_auth_from_url)get_requirement)runner_with_spinner_message) TempDirectory tempdir_kinds) unpack_file)running_under_virtualenv)vcsc:eZdZdZ d^dddddddd_dZd`dZd`dZd`d Zedad"Z e j dbd#Z edcd%Z edbd&Zedbd'Zddded*Zedbd+Zdfdgd/Zdad0Zdhd4Zdid5Zdid6Zdjd8Zedbd9Zedbd:Zed`d;Zed`d<Zed`d=Zdid>Zdid?Zdid@ZedkdBZ dldEZ!dmdFZ"didGZ# dndodIZ$dpdLZ%didMZ&didNZ' dndqdRZ(drdVZ)dsdWZ* dtdud]Z+dS)vInstallRequirementz Represents something that may be installed later on, may have information about where to fetch the relevant requirement and also contains logic for installing the said requirement. FN) hash_optionsconfig_settings constraintextras user_suppliedpermit_editable_wheelsreqRequirement | None comes_fromstr | InstallRequirement | Noneeditableboollink Link | Nonemarkers Marker | Noneisolatedr6dict[str, list[str]] | Noner7!dict[str, str | list[str]] | Noner8r9Collection[str]r:r;returnNonec|t|ts J|||_||_| |_||_| |_d|_|jrQ|sJ|jrFtj tj |j |_||r|jrt|j}|x|_|_d|_d|_d|_|jr|jjr|jj |_| r| |_n"|r |j|_nt-|_| |r|j}||_d|_d|_d|_d|_|r|ni|_||_d|_| |_ ||_!tE|_#d|_$d|_%d|_&g|_'d|_(d|_)d|_*dSNF)+ isinstancer r<r>r8r@r; source_diris_fileospathnormpathabspath file_pathurlrrB original_linkcached_wheel_source_link download_infolocal_file_pathr9setmarkerrD satisfied_byshould_reinstall_temp_build_dirinstall_succeededr6r7preparedr:rFr build_envmetadata_directory _distributionpyproject_requiresrequirements_to_checkpep517_backendneeds_more_preparation_archive_source) selfr<r>r@rBrDrFr6r7r8r9r:r;s o/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pip/_internal/req/req_install.py__init__zInstallRequirement.__init__Es {jk::{{C{{:$$  &<#'+ = TKK4| T"$'"2"227??4>3R3R"S"S B',#-1strc|jr;t|j}|jr|dt|jjz }n#|jrt|jj}nd}|j0|jjt|jj}nd}|d|z }|jrFt|jtr|j}n|j }|r |d|dz }|S)Nz from zz in z (from )) r<r*rBr+rVr]locationr'r>rNrn from_path)rjsrrr>s rk__str__zInstallRequirement.__str__s 8 ',TX66Ay DC249=AACCC Y '$TY]33AA&A   ( )5'(9(BCC% """ "A ? -$/3// 9)- !_6688  -,z,,,,rmcRd|jjdt|d|jdS)N) __class____name__rnr@rjs rk__repr__zInstallRequirement.__repr__sD 7' 7 74yy 7 7$(M 7 7 7 rmct|t}fdt|D}d|jjd|S)z5An un-tested helper for getting state, for debugging.c32K|]}|d|VdS)=Nr5).0attr attributess rk z2InstallRequirement.format_debug..s6JJDD//:d+//JJJJJJrmz<{name} object: {{{state}}}>z, )namestate)varssortedformatryrzjoin)rjnamesrrs @rk format_debugzInstallRequirement.format_debugsn$ZZ z""JJJJF5MMJJJ-44())E""5   rm str | Nonec,|jdS|jjSN)r<rr{s rkrzInstallRequirement.names 8 4x}rmc*|jsJ|j5td}|j|5d|jvcdddcdddS#1swxYwY ddddS#1swxYwYdS)Nz1Checking if build backend supports build_editablebuild_editable)rgrbr-subprocess_runner_supported_features)rjrunners rksupports_pyproject_editablez.InstallRequirement.supports_pyproject_editableso"""" ^ U U0CF$66v>> U U'4+>+R+R+T+TT U U U U U U U  U U U U U U U U U U U U U U U U U  U U U U U U U U U U U U U U U U U Us4*BA/ B/A3 3B6A3 7BB B r c,|jJ|jjSr)r< specifierr{s rkrzInstallRequirement.specifiersx###x!!rmc|jduS)z7Whether this requirement was specified as a direct URL.N)rWr{s rk is_directzInstallRequirement.is_directs!--rmc|jJ|jj}t|dko"tt |jdvS)zReturn whether I am pinned to an exact version. For example, some-package==1.2 is pinned; some-package>1.2 is not. N>=====)r<rlennextiteroperator)rj specifierss rk is_pinnedzInstallRequirement.is_pinnedsJ x###X' :!#XT*-=-=(>(>(G=(XXrmextras_requestedIterable[str] | NonecT|sd}jtfd|DSdS)N)c3PK|] }jd|iV!dS)extraN)rDevaluate)rrrjs rkrz3InstallRequirement.match_markers.. sI---  " "4>2 6 6 = =di H H Hk"""rmc|jdSt|j}|jrEt|jtr|j}n|j}|r|d|zz }|S)z8Format a nice indicator to show where this "comes from" Nz->)r<rnr>rNrs)rjrtr>s rkrszInstallRequirement.from_path4sr 8 4 MM ? '$/3// 9!_ !_6688  'TJ&&rm build_dir autodeleteparallel_buildscN|J|j|jjsJ|jjS|j,ttjd|_|jjSt |jj}|r|dtj j }tj |s/td|tj|tj||}|rdnd}t||tjdjS)NT)kindglobally_managed_zCreating directory %sF)rRdeleterr)r_rRr<r.r/ REQ_BUILDr ruuiduuid4hexrQexistsloggerdebugmakedirsr)rjrrrdir_nameactual_build_dir delete_args rkensure_build_locationz(InstallRequirement.ensure_build_locationCs3$$$   +', , ,,', , 8 $1",t$$$D ', ,*$(-88  8"77TZ\\%577Hw~~i(( # LL0) < < < K " " "7<< 8<<(2TTU !(!      rmc |jJ|jJ|jJtt |jdt rd}nd}t d|jd||jdg|_dS)z*Set requirement after generating metadata.Nr rrrName)r<metadatarOrN parse_versionr r,r)rjops rk_set_requirementz#InstallRequirement._set_requirementnsx}(((*** mDM)$<==w G G BBB" GGM&)M),    rmc|jJt|jd}t|jj|krdStd|j||jt ||_dS)NrzeGenerating metadata for package %s produced metadata for project name %s. Fix your #egg=%s fragments.)r<r rrrwarningr,)rj metadata_names rkwarn_on_mismatching_namez+InstallRequirement.warn_on_mismatching_namesx###)$-*?@@ TX] + +} < < F  ! I  I    #=11rm use_user_sitec|jdSt|jj}|sdS|jj|jd}|sZd|_|rH|jr d|_ dStr&|j r!td|j d|jdSdSd|_ dS|jrd|_ d|_dS||_dS)zFind an installed distribution that satisfies or conflicts with this requirement, and set self.satisfied_by or self.should_reinstall appropriately. NT) prereleaseszNWill not install to the user site because it will lack sys.path precedence to rp)r<rget_distributionrrcontainsversionr] in_usersiter^r1in_site_packagesrraw_namerrr@)rjr existing_distversion_compatibles rkcheck_if_existsz"InstallRequirement.check_if_existss: 8  F/11BB48=QQ   F!X/88  !9  " 2 $D  - ,,0D)))-//M4R+77D7M77+477)-%%%} 2(,%%)!!!$1!!!rmc,|jsdS|jjSrM)rBis_wheelr{s rkrzInstallRequirement.is_wheelsy 5y!!rmc|jduSr)rXr{s rkis_wheel_from_cachez&InstallRequirement.is_wheel_from_caches,D88rmc|js Jd|tj|j|jr |jjpdS)NNo source dir for r)rOrQrRrrBsubdirectory_fragmentr{s rkunpacked_source_directoryz,InstallRequirement.unpacked_source_directorysP;; ;T ; ;;;w|| OTYJ49+JPb   rmcx|js Jd|tj|jd}|S)Nrzsetup.py)rOrQrRrr)rjsetup_pys rk setup_py_pathz InstallRequirement.setup_py_paths=;; ;T ; ;;;7<< > KKrmcR|js Jd|t|jS)Nr)rOr rr{s rkpyproject_toml_pathz&InstallRequirement.pyproject_toml_paths1;; ;T ; ;;;"4#ABBBrmct|j|jt|}|sJ|\}}}}||_||_t ||j|||_dS)zLoad the pyproject.toml file. After calling this routine, all of the attributes related to PEP 517 processing for this requirement have been set. ) backend_pathN) rrrrnrfrer$rrg)rjpyproject_toml_datarequiresbackendcheckrs rkrz&InstallRequirement.load_pyproject_tomls 2  $d&8#d))  #"""1D.'5,%*""*>   * %    rmcL|jr|jstd|ddSdS)zCheck that an editable requirement if valid for use with PEP 517/518. This verifies that an editable has a build backend that supports PEP 660. zProject z uses a build backend that is missing the 'build_editable' hook, so it cannot be installed in editable mode. Consider using a build backend that supports PEP 660.N)r@rrr{s rkeditable_sanity_checkz(InstallRequirement.editable_sanity_checksX = !A #I4III     rmc|js Jd||jp d|j}|jJ|jr0|jr)|jr"t|j|j||_ n!t|j|j||_ |js| n| | dS)zEnsure that project metadata is available. Under PEP 517 and PEP 660, call the backend hook to prepare the metadata. Under legacy processing, call setup.py egg-info. rzfrom N)rbrdetails)rOrrBrgr@r;rrrbrcrrrassert_source_matches_version)rjrs rkprepare_metadataz#InstallRequirement.prepare_metadatas ;; ;T ; ;;;)22ty22"... M + 0  'A.+'''D # # '8.+'''D #y ,  ! ! # # # #  ) ) + + + **,,,,,rmrclt|ds|j|_|jS)N _metadata)hasattrget_distrrr{s rkrzInstallRequirement.metadata s.t[)) 6!]]__5DN~rm distributionrc||_dSr)rd)rjrs rkset_distzInstallRequirement.set_dist's)rmc|j|jS|jrt|jS|jrI|jrB|jJt t|jt|jj Std|d)NzInstallRequirement zC has no metadata directory and no wheel: can't make a distribution.) rdrcrrZrr<rrr rAssertionErrorr{s rkrzInstallRequirement.get_dist*s   )% %  $ -d.EFF F  ! dm 8''') 455!$(-00  *$ * * *   rmc$|js Jd||jd}|jr8|jjr,||jjvrtd||dStdt|j||dS)Nrrz'Requested %s, but installing version %sz;Source in %s has version %s, which satisfies requirement %s)rOrr<rrrrr')rjrs rkrz0InstallRequirement.assert_source_matches_version:s;; ;T ; ;;;- * 8 * wdh>P/P/P NN9      LLMT_--      rm parent_dircR|j|||||_dSdS)aAEnsure that a source_dir is set. This will create a temporary build dir if the name of the requirement isn't known yet. :param parent_dir: The ideal pip parent_dir for the source_dir. Generally src_dir for editables and build_dir for sdists. :return: self.source_dir N)rr)rOr)rjrrrs rkensure_has_source_dirz(InstallRequirement.ensure_has_source_dirLs= ? ""88% /9DOOO # "rmarchive_sourcerc&|jJ||_dSr)ri)rjrs rkneeds_unpacked_archivez)InstallRequirement.needs_unpacked_archivebs#+++-rmc|jJ|j)tt|j|jdSt |jrt d|d|jddS)z6Ensure the source directory has not yet been built in.Nz%pip can't proceed with requirements 'z)' due to a pre-existing build directory (z). This is likely due to a previous installation that failed . pip is being responsible and not assuming it can delete this. Please delete it and try again.)rOrir0rnr)rr{s rkensure_pristine_source_checkoutz2InstallRequirement.ensure_pristine_source_checkoutfs***   + D0114? C C C C C  0 0 (22215222   rmcz|js"td|jdS|jsJ|jsJ|jjdkrdSt j|jj}|sJd|jjt|jj}| |j|ddS)Nz>Cannot update repository at %s; repository location is unknownfilezUnsupported VCS URL r)rV verbosity) rBrrrOr@schemer2get_backend_for_schemerVr(obtain)rj vcs_backend hidden_urls rkupdate_editablez"InstallRequirement.update_editablexsy  LLP    F}} 9 v % % F01ABB BBB49=BBBB{dim,, 4? aHHHHHrm auto_confirmverboseUninstallPathSet | Nonec@|jsJt|jj}|s"td|jdStd|tj|}| |||S)a Uninstall the distribution currently satisfying this requirement. Prompts before removing or modifying files unless ``auto_confirm`` is True. Refuses to delete or modify files outside of ``sys.prefix`` - thus uninstallation within a virtual environment can only modify that virtual environment, even if the virtualenv is linked to global site-packages. z#Skipping %s as it is not installed.NzFound existing installation: %s) r<rrrrrinfor! from_distremove)rjrrdistuninstalled_pathsets rk uninstallzInstallRequirement.uninstallsxx&((99$(-HH  NN@$) L L L4 5t<<<.8>>""<999""rmrR parentdirrootdircdd}|jJtj||}|||}|jjdz|zS)NrrnprefixrJc||tjjzsJd|d||t |dzd}|tjjd}|S)Nzname z doesn't start with prefix r/) startswithrQrRseprreplace)rr#s rk_clean_zip_namez=InstallRequirement._get_archive_name.._clean_zip_names??$ E EDtDD&DD E EF a))*D<< S11DKrmr%)rrnr#rnrJrn)r<rQrRrr)rjrRr r!r)rs rk_get_archive_namez$InstallRequirement._get_archive_names`    x###w||It,,tW--x}s"T))rmc|jsJ|dSd}d|j|jd}tj||}tj|rtdt|dd}|dkrd }n|d kr=t d t|t j |n{|d kr[t|}t d t|t|tj||n|dkrt!jd|sdSt%j|d t$jd}|5tjtj|j}t j|D]\} } } | D]N} || | |} t%j| dz}d|_||dO| D]P}||| |}tj| |}|||Q dddn #1swxYwYtdt|dS)z}Saves archive to provided build_dir. Used for saving downloaded VCS requirements as part of `pip download`. NTz {}-{}.ziprz The file z- exists. (i)gnore, (w)ipe, (b)ackup, (a)bort )iwbar,Fr-z Deleting %sr.zBacking up %s to %sr/) allowZip64)r r!r%irzSaved %s)rOrrrrQrRrrr%r'rrrr&shutilmovesysexitzipfileZipFile ZIP_DEFLATEDnormcaserTrwalkr*ZipInfo external_attrwritestrwriter)rjrcreate_archive archive_name archive_pathresponse dest_file zip_outputdirdirpathdirnames filenamesdirname dir_arcnamezipdirfilename file_arcnames rkarchivezInstallRequirement.archives"    F"))$)T]95MNN w||I|<< 7>>, ' ' &%L66%%%$H 3!&S}l<.H.HIII ,''''S&|44 ) .. ++  L)4444S   F_         = ='""27??43Q#R#RSSC02  = =,9'44G"&"8"8") ##9##K %_[3->??F+6F(''3333 )==H#'#9#9 ") #$:$$L "w||GX>>H$$X|<<<<= = = = = = = = = = = = = = = = =*  J \ : :;;;;;sDJJJroothomer#warn_script_location pycompilec (|jJt|jj||||j|}|jsJ|jsJt |jj|j|t|j|||jr|j nd|j d|_ dS)N)userrPrOrFr#)rreq_descriptionrRrQ direct_url requestedT) r<rrrFrrZrrnrrYr:r`)rjrOrPr#rQrrRrs rkinstallzInstallRequirement.installsx### HM]    }}#### HM  MM!5-1^Et))( "&rm)FNNF)r<r=r>r?r@rArBrCrDrErFrAr6rGr7rHr8rAr9rIr:rAr;rArJrK)rJrn)rJr)rJrA)rJr r)rrrJrA)T)rrArJr#)rrnrrArrArJrn)rJrK)rrArJrK)rJr)rrrJrK)rJr)FF)rrnrrArrArJrK)rrrJrK)rrArrArJr)rRrnr rnr!rnrJrn)rrrJrK)NNNTFT)rOrrPrr#rrQrArrArRrArJrK),rz __module__ __qualname____doc__rlrur|rpropertyr functoolscached_propertyrrrrrrrrsrrrrrrrrrrrrrrrrrr r rrr*rNrXr5rmrkr4r4>s" !%n159=A "$#',n1n1n1n1n1n1`0        X UUUU"""X"...X.YYYXY     '''X'#####6    ))))V    ,2222$#2#2#2#2L"""X" 999X9    X X CCCXC    (    !-!-!-!-FX ****    *! % ,....$IIII*;@#####4 * * * *A<A<A<Ars"""""" 00000000000000::::::999999999999111111@@@@@@>>>>>>JJJJJJJJMMMMMMMM...... 877777555555******EEEEEEWWWWWW@@@@@@LLLLLLLL<<<<<<666666------                    :99999FFFFFFEEEEEEEE555555CCCCCC!!!!!!  8 $ $Y &Y &Y &Y &Y &Y &Y &Y &x8rm