ó
b]c           @@  s   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 d  d l m Z d e f d	     YZ d
 S(   i    (   t   absolute_import(   t   canonicalize_name(   t   Command(   t   InstallationError(   t   parse_requirements(   t   install_req_from_line(   t(   protect_pip_from_modification_on_windowst   UninstallCommandc           B@  s2   e  Z d  Z d Z d Z d Z d   Z d   Z RS(   sB  
    Uninstall packages.

    pip is able to uninstall most installed packages. Known exceptions are:

    - Pure distutils packages installed with ``python setup.py install``, which
      leave behind no metadata to determine what files were installed.
    - Script wrappers installed by ``python setup.py develop``.
    t	   uninstallsU   
      %prog [options] <package> ...
      %prog [options] -r <requirements file> ...s   Uninstall packages.c         O@  s   t  t |   j | |   |  j j d d d d d d d g  d d	 d
 d |  j j d d d d d d d
 d |  j j d |  j  d  S(   Ns   -rs   --requirementt   destt   requirementst   actiont   appendt   defaultt   metavart   filet   helpsj   Uninstall all the packages listed in the given requirements file.  This option can be used multiple times.s   -ys   --yest   yest
   store_trues2   Don't ask for confirmation of uninstall deletions.i    (   t   superR   t   __init__t   cmd_optst
   add_optiont   parsert   insert_option_group(   t   selft   argst   kw(    (    s?   lib/python2.7/site-packages/pip/_internal/commands/uninstall.pyR      s    				c   	      C@  sC  |  j  |  .} i  } xB | D]: } t | d | j } | j r | | t | j  <q q WxS | j D]H } x? t | d | d | D]% } | j r | | t | j  <q q Wqg W| sĜ t d t d |  j    n  t	 d d | k  xK | j
   D]= } | j d | j d	 |  j d
 k  } | rĝ | j   qĝ qĝ WWd  QXd  S(   Nt   isolatedt   optionst   sessionsL   You must give at least one requirement to %(name)s (see "pip help %(name)s")t   namet   modifying_pipt   pipt   auto_confirmt   verbosei    (   t   _build_sessionR   t   isolated_modeR   R   R
   R   R   t   dictR   t   valuesR   R   t	   verbosityt   commit(	   R   R   R   R   t   reqs_to_uninstallR   t   reqt   filenamet   uninstall_pathset(    (    s?   lib/python2.7/site-packages/pip/_internal/commands/uninstall.pyt   run/   s2    			(   t   __name__t
   __module__t   __doc__R   t   usaget   summaryR   R.   (    (    (    s?   lib/python2.7/site-packages/pip/_internal/commands/uninstall.pyR      s   		N(   t
   __future__R    t   pip._vendor.packaging.utilsR   t   pip._internal.cli.base_commandR   t   pip._internal.exceptionsR   t   pip._internal.reqR   t   pip._internal.req.constructorsR   t   pip._internal.utils.miscR   R   (    (    (    s?   lib/python2.7/site-packages/pip/_internal/commands/uninstall.pyt   <module>   s   