ó
Ð²Ebc           @@  sö   d  d l  m 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 e r© d  d	 l m Z m Z m Z m Z m Z n  d
 d d d g Z e j e ƒ Z d e f d „  ƒ  YZ d „  Z d „  Z d S(   i    (   t   absolute_importN(   t
   indent_log(   t   MYPY_CHECK_RUNNINGi   (   t   parse_requirements(   t   InstallRequirement(   t   RequirementSet(   t   Iteratort   Listt   Optionalt   Sequencet   TupleR   R   R   t   install_given_reqst   InstallationResultc           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  s   | |  _  d  S(   N(   t   name(   t   selfR   (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/req/__init__.pyt   __init__   s    c         C@  s   d j  |  j ƒ S(   Ns   InstallationResult(name={!r})(   t   formatR   (   R   (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/req/__init__.pyt   __repr__   s    (   t   __name__t
   __module__R   R   (    (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/req/__init__.pyR      s   	c         c@  sA   x: |  D]2 } | j  s+ t d j | ƒ ƒ ‚ | j  | f Vq Wd  S(   Ns'   invalid to-be-installed requirement: {}(   R   t   AssertionErrorR   (   t   requirementst   req(    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/req/__init__.pyt   _validate_requirements"   s    c	         C@  sS  t  j t |  ƒ ƒ }	 |	 r= t j d d j |	 j ƒ  ƒ ƒ n  g  }
 t ƒ  xù |	 j ƒ  D]ë \ } } | j	 r¤ t j d | ƒ t ƒ   | j
 d t ƒ } Wd QXn d } y8 | j | | d | d | d | d	 | d
 | d | ƒWn1 t k
 r| r| j r| j ƒ  n  ‚  n X| r2| j r2| j ƒ  n  |
 j t | ƒ ƒ qZ WWd QX|
 S(   su   
    Install everything in the given list.

    (to be called after having downloaded and unpacked the packages)
    s!   Installing collected packages: %ss   , s   Attempting uninstall: %st   auto_confirmNt   roott   homet   prefixt   warn_script_locationt   use_user_sitet	   pycompile(   t   collectionst   OrderedDictR   t   loggert   infot   joint   keysR   t   itemst   should_reinstallt	   uninstallt   Truet   Nonet   installt	   Exceptiont   install_succeededt   rollbackt   committ   appendR   (   R   t   install_optionst   global_optionsR   R   R   R   R   R   t
   to_installt	   installedt   req_namet   requirementt   uninstalled_pathset(    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/req/__init__.pyR   +   s@    
	
	(   t
   __future__R    R   t   loggingt   pip._internal.utils.loggingR   t   pip._internal.utils.typingR   t   req_fileR   t   req_installR   t   req_setR   t   typingR   R   R   R	   R
   t   __all__t	   getLoggerR   R!   t   objectR   R   R   (    (    (    s7   /tmp/pip-build-UPPWic/pip/pip/_internal/req/__init__.pyt   <module>   s   +
		