σ
ωΌςec           @@  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   (    (    sG   /navires/venv/lib/python2.7/site-packages/pip/_internal/req/__init__.pyt   __init__   s    c         C@  s   d j  |  j  S(   Ns   InstallationResult(name={!r})(   t   formatR   (   R   (    (    sG   /navires/venv/lib/python2.7/site-packages/pip/_internal/req/__init__.pyt   __repr__   s    (   t   __name__t
   __module__R   R   (    (    (    sG   /navires/venv/lib/python2.7/site-packages/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(    (    sG   /navires/venv/lib/python2.7/site-packages/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(    (    sG   /navires/venv/lib/python2.7/site-packages/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   (    (    (    sG   /navires/venv/lib/python2.7/site-packages/pip/_internal/req/__init__.pyt   <module>   s   +
		