ó
'^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  d l m Z d	 e e f d
     YZ d S(   i    (   t   absolute_import(   t   canonicalize_name(   t   Command(   t   SessionCommandMixin(   t   InstallationError(   t   parse_requirements(   t   install_req_from_line(   t(   protect_pip_from_modification_on_windowst   UninstallCommandc           B@  s&   e  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``.
    sU   
      %prog [options] <package> ...
      %prog [options] -r <requirements file> ...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=   /tmp/pip-build-eiI0Wo/pip/pip/_internal/commands/uninstall.pyR      s    				c   	      C@  s:  |  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 Wqd 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ő Wd  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   get_default_sessionR   t   isolated_modeR   R   R
   R   R   t   dictR   t   valuest	   uninstallR   t	   verbosityt   commit(	   R   R   R   R   t   reqs_to_uninstallR   t   reqt   filenamet   uninstall_pathset(    (    s=   /tmp/pip-build-eiI0Wo/pip/pip/_internal/commands/uninstall.pyt   run2   s2    			(   t   __name__t
   __module__t   __doc__t   usageR   R/   (    (    (    s=   /tmp/pip-build-eiI0Wo/pip/pip/_internal/commands/uninstall.pyR      s   		N(   t
   __future__R    t   pip._vendor.packaging.utilsR   t   pip._internal.cli.base_commandR   t   pip._internal.cli.req_commandR   t   pip._internal.exceptionsR   t   pip._internal.reqR   t   pip._internal.req.constructorsR   t   pip._internal.utils.miscR   R   (    (    (    s=   /tmp/pip-build-eiI0Wo/pip/pip/_internal/commands/uninstall.pyt   <module>   s   