
^V                 @   s   d  d l  m 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 e j e  Z d d d d d d d d f  d d	 	 Z d S)
    )absolute_importN)InstallRequirement)get_installed_distributions)pkg_resources)canonicalize_nameFc	             c   s  | p	 g  } d  }	 | r- t  j |  j }	 n  g  }
 x9 t j D]. } | j d  r= |
 j | j d   q= q= Wx* | D]" } d | k rv |
 j |  qv qv Wx | D] } d | Vq Wi  } xE t	 d | d f  d |  D]( } t
 j j | |
  } | | | j <q W|  rt |   } x| D]}} | j   si| j   j d  si|	 rZ|	 |  si| j d"  rz| j   Vq n  | j d  s| j d  r	| j d  r| d d   j   } n% | t d  d   j   j d  } t j | d | d | d | } n t j | d | d | } | j sSt j d | j    t j d  q | j | k r{t j d | j    q t | | j  j   V| | j =q WWd  QXd Vn  xO t | j   d d  d!   D]/ } t | j  | k rt |  j   VqqWd  S)#Nzdependency_links.txtz#egg=z-f %s
local_onlyskip	user_only#-r--requirement-Z--always-unzip-f--find-links-i--index-url--pre--trusted-host--process-dependency-links--extra-index-urlz-ez
--editable   =default_vcsisolatedwheel_cachez>Skipping line because it's not clear what it would install: %sz9  (add #egg=PackageName to the URL to avoid this warning)z?Requirement file contains %s, but that package is not installedz7## The following requirements were added by pip freeze:keyc             S   s   |  j  j   S)N)namelower)x r    4/tmp/pip-build-9m6vxulb/pip/pip/operations/freeze.py<lambda>p   s    zfreeze.<locals>.<lambda>)r   r   r   r   r   r   r   r   r   r   r   r   )recompilesearchr   working_sethas_metadataextendget_metadata_linesappendr   pipFrozenRequirement	from_distr   openstrip
startswithrstriplenlstripr   from_editable	from_lineloggerinfowarningstrsortedvaluesr   )requirement
find_linksr   r	   
skip_regexr   r   r   r   
skip_matchdependency_linksdistlinkinstallationsreqreq_filelineline_reqinstallationr    r    r!   freeze   s    		       	%		
rI   )
__future__r   loggingr#   r+   pip.reqr   	pip.utilsr   pip._vendorr   pip._vendor.packaging.utilsr   	getLogger__name__r6   rI   r    r    r    r!   <module>   s   