ó
İ²k^c           @@  s€   d  d l  m Z d  d l Z d  d l j Z d  d l m Z d  d l m	 Z	 m
 Z
 d  d l m Z e e ƒ Z d „  Z e Z d S(   i    (   t   absolute_importN(   t   Utf8NamedTemporaryFile(   t   pip_subprocesst   get_pip_installed_packages(   t	   getLoggerc   
      O@  s$  y t  j t  j | j ƒ ƒ } Wn t k
 r8 d } n Xd } z{ t d d d d d d d | d t ƒ } | j d	 j	 | ƒ ƒ | j
 ƒ  d
 d d | j g } t | |  d | ƒ\ } }	 Wd | d k	 rt  j | j ƒ rd t j k rı t j | j ƒ qt j d j | j ƒ ƒ n  Xt | ƒ S(   s§  
    Installs the pip dependencies in specs using a temporary pip requirements file.

    Args
    ----
    prefix: string
      The path to the python and pip executables.

    specs: iterable of strings
      Each element should be a valid pip dependency.
      See: https://pip.pypa.io/en/stable/user_guide/#requirements-files
           https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
    t   modet   wt   prefixs	   condaenv.t   suffixs   .requirements.txtt   dirt   deletes   
t   installs   -Us   -rt   cwdNt   CONDA_TEST_SAVE_TEMPSs:   CONDA_TEST_SAVE_TEMPS :: retaining pip requirements.txt {}(   t   opt   dirnamet   abspatht   filet   AttributeErrort   NoneR   t   Falset   writet   joint   closet   nameR   t   isfilet   ost   environt   removet   logt   warningt   formatR   (
   R   t   specst   argst   _t   kwargst   pip_workdirt   requirementst   pip_cmdt   stdoutt   stderr(    (    s7   lib/python2.7/site-packages/conda_env/installers/pip.pyt   _pip_install_via_requirements   s*    
	
(   t
   __future__R    R   t   os.patht   pathR   t   conda._vendor.auxlib.compatR   t   conda_env.pip_utilR   R   t   loggingR   t   __name__R   R)   R   (    (    (    s7   lib/python2.7/site-packages/conda_env/installers/pip.pyt   <module>   s   	,