o nh@sddlmZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ddl m Z ddlmZdd lmZdd lmZdd lmZd d ZddZdddZddZddZddZGdddeZdS)) annotationsN)partial) Distribution)_reqs) _StrOrIter)SetuptoolsDeprecationWarning)Wheel)log)DistutilsErrorcCs(t|tr |St|ttfsJ|S)z8Ensure find-links option end-up being a list of strings.) isinstancestrsplittuplelist) find_linksrW/opt/prometheus-monitoring-scripts/lib/python3.10/site-packages/setuptools/installer.py_fixup_find_linkss rcCstt|t||S)zLFetch an egg needed for building. Use pip/wheel to fetch/build a wheel.)_DeprecatedInstalleremit_warn_wheel_not_available_fetch_build_egg_no_warn)distreqrrrfetch_build_eggs rrequiresrreturnlist[Distribution]cCs\ddl}tjddt||jjt||jt t |dd}|D] }|jj |ddq!|S)Nr) stacklevelT) installerreplace_conflicting)replace) pkg_resourcesrrr working_setresolverparse Requirementrradd)rrr$resolved_distsrrr_fetch_build_eggs&s  r+c Cs ddl}t|}|d}d|vrtddtjvodtjv}dtjvr'd}n d|vr2|dd }nd}d |vrDt|d d ddng}|jrO||jtj | }| }| |D]} | |vro|| ro| Sq`t} tjd d d ddd| g} |r| d|dur| d|f|pgD] } | d| fq| |jpt|zt| Wntjy} ztt| | d} ~ wwtttj | dd}tj ||}||||tj |d}|jj ||dWdS1swYdS)Nr easy_install allow_hostszQthe `allow-hosts` option is not supported when using pip to install requirements. PIP_QUIET PIP_VERBOSE PIP_INDEX_URL index_urlrrz-mpipz--disable-pip-version-checkwheelz --no-depsz-wz--quietz --index-urlz --find-linksz*.whlzEGG-INFO)metadata)!r$ strip_markerget_option_dictr osenvironrdependency_linksextendpathrealpathget_egg_cache_dir Environmentfind_distributionscan_addtempfileTemporaryDirectorysys executableappendurlr subprocess check_callCalledProcessErrorr globjoinegg_nameinstall_as_egg PathMetadatar from_filename)rrr$optsquietr1reggs_dir environmentegg_disttmpdircmdlinker3 dist_location dist_metadatarrrr6sp  "     $rcCs"ddl}|jt|}d|_|S)z Return a new requirement without the environment marker to avoid calling pip with something like `babel; extra == "i18n"`, which would always be ignored. rN)r$r(r'r marker)rr$rrrr5ysr5cCs>ddl}z|dWdS|jy|dtjYdSw)Nrr3z,WARNING: The wheel package is not available.)r$get_distributionDistributionNotFoundannouncer WARN)rr$rrrrs rc@seZdZdZdZdS)rz9setuptools.installer and fetch_build_eggs are deprecated.z Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. N)__name__ __module__ __qualname___SUMMARY_DETAILSrrrrrsr)rrrr) __future__rrJr7rGrCrA functoolsrr$rrrwarningsrr3r distutilsr distutils.errorsr rrr+rr5rrrrrrs*          C