ó
'—^c           @@  sØ   d  d l  m 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 n  d
 d d d g Z e j e ƒ Z d e f d „  ƒ  YZ d d „ Z d S(   i    (   t   absolute_importN(   t
   indent_log(   t   MYPY_CHECK_RUNNINGi   (   t   parse_requirements(   t   InstallRequirement(   t   RequirementSet(   t   Anyt   Listt   SequenceR   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-eiI0Wo/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-eiI0Wo/pip/pip/_internal/req/__init__.pyt   __repr__   s    (   t   __name__t
   __module__R   R   (    (    (    s7   /tmp/pip-build-eiI0Wo/pip/pip/_internal/req/__init__.pyR
      s   	c         O@  s6  |  r8 t  j d d j g  |  D] } | j ^ q ƒ ƒ n  g  } t ƒ  é xá |  D]Ù } | j r– t  j d | j ƒ t ƒ   | j d t ƒ } Wd QXn  y | j | | | |  Wn: t	 k
 rì | j oĞ | j
 }	 |	 ræ | j ƒ  n  ‚  n& X| j oü | j
 }
 |
 r| j ƒ  n  | j t | j ƒ ƒ qO 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_confirmN(   t   loggert   infot   joinR   R   t   should_reinstallt	   uninstallt   Truet   installt	   Exceptiont   install_succeededt   rollbackt   committ   appendR
   (   t
   to_installt   install_optionst   global_optionst   argst   kwargst   reqt	   installedt   requirementt   uninstalled_pathsett   should_rollbackt   should_commit(    (    s7   /tmp/pip-build-eiI0Wo/pip/pip/_internal/req/__init__.pyR	   $   s<    )
	
		
		 (    (   t
   __future__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   t   __all__t	   getLoggerR   R   t   objectR
   R	   (    (    (    s7   /tmp/pip-build-eiI0Wo/pip/pip/_internal/req/__init__.pyt   <module>   s   