
    
_d}                         d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 ddlmZ ddlmZ ddlmZ d	 Zd
 Zd Zd Zd Zd Z G d de      Zy)    N)log)DistutilsError)partial   )_reqs)Wheel)SetuptoolsDeprecationWarningc                 v    t        | t              r| j                         S t        | t        t        f      sJ | S )z8Ensure find-links option end-up being a list of strings.)
isinstancestrsplittuplelist)
find_linkss    6/usr/lib/python3/dist-packages/setuptools/installer.py_fixup_find_linksr      s5    *c"!!j5$-000    c                 X    t         j                          t        |        t        | |      S )zLFetch an egg needed for building.

    Use pip/wheel to fetch/build a wheel.)_DeprecatedInstalleremit_warn_wheel_not_available_fetch_build_egg_no_warn)distreqs     r   fetch_build_eggr      s%     d##D#..r   c                 ,   dd l }t        j                  d       t        |        |j                  j                  t        j                  ||j                        t        t        |       d      }|D ]  } |j                  j                  | d       ! |S )Nr      )
stacklevelT)	installerreplace_conflicting)replace)pkg_resourcesr   r   r   working_setresolver   parseRequirementr   r   add)r   requiresr"   resolved_distss       r   _fetch_build_eggsr*       s    +d#"..66Hm7782D9  7 N
  :!!%%dD%9:r   c           	         dd l }t        |      }| j                  d      }d|v rt        d      dt        j
                  vxr dt        j
                  v}dt        j
                  v rd }nd|v r	|d   d	   }nd }d
|v rt        |d
   d	         d d  ng }| j                  r|j                  | j                         t        j                  j                  | j                               }|j                         }|j                  |      D ]  }	|	|v s|j                  |	      s|	c S  t        j                          5 }
t"        j$                  dddddd|
g}|r|j'                  d       ||j                  d|f       |xs g D ]  }|j                  d|f        |j'                  |j(                  xs t+        |             	 t-        j.                  |       t3        t5        j4                  t        j                  j7                  |
d            d         }t        j                  j7                  ||j9                               }|j;                  |       |j=                  |t        j                  j7                  |d            }|j>                  jA                  ||      } | cd d d        S # t,        j0                  $ r}t        t+        |            |d }~ww xY w# 1 sw Y   y xY w)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_urlr   r   z-mpipz--disable-pip-version-checkwheelz	--no-depsz-wz--quietz--index-urlz--find-linksz*.whlzEGG-INFO)metadata)!r"   strip_markerget_option_dictr   osenvironr   dependency_linksextendpathrealpathget_egg_cache_dirEnvironmentfind_distributionscan_addtempfileTemporaryDirectorysys
executableappendurlr   
subprocess
check_callCalledProcessErrorr   globjoinegg_nameinstall_as_eggPathMetadataDistributionfrom_filename)r   r   r"   optsquietr1   r   eggs_direnvironmentegg_disttmpdircmdlinker3   dist_locationdist_metadatas                    r   r   r   0   s    s
C /D6
 	
 rzz)Mm2::.ME"**$			%a(		7Ct7K$|,Q/03QS  $//0ww 6 6 89H++-K!44X> s?{228<O 
	$	$	& "&NN)	
 JJy! JJy12$" 	/DJJ-.	/
 	

377&c#h'	0!!#& diiVW =>qABXu~~/?@]+%22277<<zB
 ))77M 8 
 E" ". ,, 	0 Q(a/	0/" "s2   <BKJ/CK/KKKKK(c                 d    ddl }|j                  j                  t        |             } 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.
    r   N)r"   r&   r%   r   marker)r   r"   s     r   r5   r5   t   s/      
#
#
)
)#c(
3CCJJr   c                     dd l }	 |j                  d       y # |j                  $ r# | j                  dt        j
                         Y y w xY w)Nr   r3   z,WARNING: The wheel package is not available.)r"   get_distributionDistributionNotFoundannouncer   WARN)r   r"   s     r   r   r      sC    P&&w/-- PDchhOPs    /A
	A
c                       e Zd ZdZdZy)r   z9setuptools.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_DETAILS r   r   r   r      s    JHHr   r   )rJ   r7   rG   rC   rA   	distutilsr   distutils.errorsr   	functoolsr    r   r3   r   warningsr	   r   r   r*   r   r5   r   r   ri   r   r   <module>ro      sT     	  
   +    2/ AHP7 r   