o g @sddlZddlmZddlmZddlmZddlmZddl m Z m Z ddl m Z ddlmZdd lmZdd lmZmZdd lmZeeZGd d d ee ZdS)N)Values)List)canonicalize_name)Command)SessionCommandMixinwarn_if_run_as_root)SUCCESS)InstallationError)parse_requirements)install_req_from_line#install_req_from_parsed_requirement)(protect_pip_from_modification_on_windowsc@s8eZdZdZdZd ddZdedeede fd d Z dS) UninstallCommandaB 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``. zU %prog [options] ... %prog [options] -r ...returnNc CsD|jjddddgddd|jjdd d d d d |jd|jdS)Nz-rz --requirement requirementsappendfilezjUninstall all the packages listed in the given requirements file. This option can be used multiple times.)destactiondefaultmetavarhelpz-yz--yesyes store_truez2Don't ask for confirmation of uninstall deletions.)rrrr)cmd_opts add_optionparserinsert_option_group)selfrB/usr/lib/python3/dist-packages/pip/_internal/commands/uninstall.py add_options$s" zUninstallCommand.add_optionsoptionsargsc Cs||}i}|D]}t||jd}|jr||t|j<q td|q |jD]}t|||dD]}t ||jd}|jrC||t|j<q0q'|sTt d|jd|jdt d|vd| D]}|j |j|jd kd } | rr| q_ttS) N)isolatedzSInvalid requirement: %r ignored - the uninstall command expects named requirements.)r"sessionz*You must give at least one requirement to z (see "pip help z")pip) modifying_pipr) auto_confirmverbose)get_default_sessionr isolated_modenamerloggerwarningrr r r r values uninstallr verbositycommitrr) rr"r#r%reqs_to_uninstallr,reqfilename parsed_requninstall_pathsetrrr run;sV     zUninstallCommand.run)rN) __name__ __module__ __qualname____doc__usager!rrstrintr8rrrr rs  r)loggingoptparsertypingrpip._vendor.packaging.utilsrpip._internal.cli.base_commandrpip._internal.cli.req_commandrrpip._internal.cli.status_codesrpip._internal.exceptionsr pip._internal.reqr pip._internal.req.constructorsr r pip._internal.utils.miscr getLoggerr9r-rrrrr s