ó
b]c           @@  sZ  d  Z  d d l m Z d d l Z 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 e rï d d
 l m Z m Z m Z m Z m Z n  e j d ƒ Z d „  Z e j d ƒ Z e j  ƒ  j! ƒ  d k r=e
 j" ƒ  Z n  y e j# ƒ  Z$ Wn e% k
 rie j& Z$ n Xe râe j' j( e j) d ƒ Z* e j' j( e$ d ƒ Z+ e j' j, e* ƒ s>e j' j( e j) d ƒ Z* e j' j( e$ d ƒ Z+ q>n\ e j' j( e j) d ƒ Z* e j' j( e$ d ƒ Z+ e j d  d k r>e j) d  d k r>d Z* n  e- d d e- d d „ Z/ d S(   s7   Locations where we look for configs, install stuff, etci    (   t   absolute_importN(   t	   sysconfig(   t   SCHEME_KEYS(   t   appdirs(   t   WINDOWS(   t   MYPY_CHECK_RUNNING(   t   running_under_virtualenv(   t   Anyt   Uniont   Dictt   Listt   Optionalt   pipc          C@  st   t  ƒ  r$ t j j t j d ƒ }  n@ y t j j t j ƒ  d ƒ }  Wn t k
 rc t j d ƒ n Xt j j	 |  ƒ S(   Nt   srcs=   The folder you are executing pip from can no longer be found.(
   R   t   ost   patht   joint   syst   prefixt   getcwdt   OSErrort   exitt   abspath(   t
   src_prefix(    (    s6   lib/python2.7/site-packages/pip/_internal/locations.pyt   get_src_prefix   s    	t   purelibt   pypyt   Scriptst   bini   t   darwini   s   /System/Library/s   /usr/local/binc         C@  s4  d d l  m } i  } | r/ i d g d 6} n i  } i |  d 6}	 |	 j | ƒ | |	 ƒ }
 |
 j ƒ  |
 j d d t ƒ} | d k	 sŒ t ‚ | o• | s± t d j | | ƒ ƒ ‚ | oº | sÖ t d	 j | | ƒ ƒ ‚ | pâ | j	 | _	 | sô | r d
 | _
 n  | p| j
 | _
 | p| j | _ | p0| j | _ | j ƒ  x% t D] } t | d | ƒ | | <qGWd |
 j d ƒ k r¢| j t d | j d | j ƒ ƒ n  t ƒ  r0t j j t j
 d d d t j d  |  ƒ | d <| d k	 r0t j j t j j | d ƒ ƒ d } t j j | | d ƒ | d <q0n  | S(   s+   
    Return a distutils install scheme
    i    (   t   Distributions   --no-user-cfgt   script_argst   namet   installt   creates   user={} prefix={}s   home={} prefix={}t    t   install_t   install_libR   t   platlibt   includet   sitet   pythoni   t   headersi   N(   t   distutils.distR   t   updatet   parse_config_filest   get_command_objt   Truet   Nonet   AssertionErrort   formatt   userR   t   homet   roott   finalize_optionsR   t   getattrt   get_option_dictt   dictR%   R   R   R   R   R   t   versiont
   splitdriveR   (   t	   dist_nameR3   R4   R5   t   isolatedR   R   t   schemet   extra_dist_argst	   dist_argst   dt   it   keyt   path_no_drive(    (    s6   lib/python2.7/site-packages/pip/_internal/locations.pyt   distutils_schemeM   sL    
%%
	%				(0   t   __doc__t
   __future__R    R   t   os.patht   platformR(   R   R   t	   distutilst   distutils_sysconfigt   distutils.command.installR   t   pip._internal.utilsR   t   pip._internal.utils.compatR   t   pip._internal.utils.typingR   t   pip._internal.utils.virtualenvR   t   typingR   R   R	   R
   R   t   user_cache_dirt   USER_CACHE_DIRR   t   get_patht   site_packagest   python_implementationt   lowert   get_python_libt   getusersitepackagest	   user_sitet   AttributeErrort	   USER_SITER   R   R   t   bin_pyt   bin_usert   existst   FalseR0   RE   (    (    (    s6   lib/python2.7/site-packages/pip/_internal/locations.pyt   <module>   sH   +	&		