U l a@sddlZddlZddlZddlZddlmZddlmZddlZddl m Z ddl m Z ddl mZddlmZd d Zd d Zd dZddZdS)N)log)DistutilsError) easy_install)six)Wheel)TemporaryDirectorycCs*t|tjr|St|ttfs&t|S)z8Ensure find-links option end-up being a list of strings.) isinstancer string_typessplittuplelistAssertionError) find_linksrUC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-wx4infiz\setuptools\installer.py_fixup_find_linkss rc Cs|ddgi}|d}||dd|dD|jr||jdd}d|krpt|dd|}d|f|d<|}t|d g|d d dd d d d d d }| ||S) zJFetch an egg needed for building. Legacy path using EasyInstall. script_argsrcss"|]\}}|dkr||fVqdS))r site_dirs index_urloptimizer allow_hostsNr).0kvrrr sz*_legacy_fetch_build_egg..NrrsetupxTF) args install_dirZexclude_scriptsZ always_copyZbuild_directoryeditableupgradeZ multi_versionZ no_reportuser) __class__get_option_dictclearupdateitemsdependency_linksrget_egg_cache_dirrensure_finalized)distreqZtmp_distoptslinksrcmdrrr_legacy_fetch_build_eggs6    r0c CsztdWn.tjk r<|dtjt||YSXztdWn$tjk rp|dtjYnXt|}|d}d|krt ddt j ksd t j krd }nd }d t j krd }nd|kr|dd}nd }d|krt |ddd d }ng}|j r||j t j|}t}t|D]$}||kr:||r:|Sq:t8} tjdddddd| g} |r| d|d k r| d|f|d k r|D]} | d| fq|jr| |jn| t|zt| Wn2tjk r0} zt t| W5d } ~ XYnXttt j | dd} t j || !}| "|t#|t j |d}tj$j%||d}|W5QRSQRXd S)zLFetch an egg needed for building. Use pip/wheel to fetch/build a wheel.pipzWARNING: The pip package is not available, falling back to EasyInstall for handling setup_requires/test_requires; this is deprecated and will be removed in a future version.wheelz,WARNING: The wheel package is not available.rrzQthe `allow-hosts` option is not supported when using pip to install requirements.Z PIP_QUIETZ PIP_VERBOSEFTZ PIP_INDEX_URLNrrrz-mz--disable-pip-version-checkz --no-depsz-wz--quietz --index-urlz --find-linksz*.whlrzEGG-INFO)metadata)& pkg_resourcesget_distributionDistributionNotFoundannouncerWARNr0 strip_markerr$rosenvironrr(extendpathrealpathr) Environmentfind_distributionscan_addrsys executableappendurlstr subprocess check_callCalledProcessErrorrglobjoinegg_nameZinstall_as_egg PathMetadata Distribution from_filename)r+r,r-quietrrZeggs_dir environmentZegg_disttmpdirr/linker2 dist_locationZ dist_metadatarrrfetch_build_egg8s           rVcCstjt|}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. N)r4 RequirementparserFmarker)r,rrrr9sr9)rJr:rGrB distutilsrdistutils.errorsrr4Zsetuptools.command.easy_installrZsetuptools.externrZsetuptools.wheelr py31compatrrr0rVr9rrrrs       U