B š•Reï ã@s®ddlmZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZdd lmZdd lmZer˜dd lmZdd lmZGd d„deeƒZdS)é)Úabsolute_import)Úcanonicalize_name)ÚCommand)ÚSessionCommandMixin)ÚSUCCESS)ÚInstallationError)Úparse_requirements)Úinstall_req_from_lineÚ#install_req_from_parsed_requirement)Ú(protect_pip_from_modification_on_windows)ÚMYPY_CHECK_RUNNING)ÚValues)ÚListc@s$eZdZdZdZdd„Zdd„ZdS)Ú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 ...c CsD|jjddddgddd�|jjdd d d d d �|j d|j¡dS)Nz-rz --requirementÚ requirementsÚappendÚfilezjUninstall all the packages listed in the given requirements file. This option can be used multiple times.)ÚdestÚactionÚdefaultÚmetavarÚhelpz-yz--yesÚyesÚ store_truez2Don't ask for confirmation of uninstall deletions.)rrrr)Úcmd_optsÚ add_optionÚparserÚinsert_option_group)Úself©rú�/builddir/build/BUILDROOT/alt-python37-pip-20.2.4-6.el8.x86_64/opt/alt/python37/lib/python3.7/site-packages/pip/_internal/commands/uninstall.pyÚ add_options%szUninstallCommand.add_optionsc Csä| |¡}i}x.|D]&}t||jd�}|jr||t|jƒ<qWxH|jD]>}x8t|||d�D]&}t||jd�}|jrZ||t|jƒ<qZWqFW|sžtdj ft ƒŽƒ‚t d|kd�x2|  ¡D]&}|j |j|jdkd�} | r¶|  ¡q¶WtS)N)Úisolated)ÚoptionsÚsessionzRYou must give at least one requirement to {self.name} (see "pip help {self.name}")Úpip)Ú modifying_pipr)Ú auto_confirmÚverbose)Úget_default_sessionr Ú isolated_modeÚnamerrrr rÚformatÚlocalsr ÚvaluesÚ uninstallrÚ verbosityÚcommitr) rr#Úargsr$Zreqs_to_uninstallr+ÚreqÚfilenameÚ parsed_reqZuninstall_pathsetrrr Úrun8s:         zUninstallCommand.runN)Ú__name__Ú __module__Ú __qualname__Ú__doc__Úusager!r6rrrr rs rN)Ú __future__rZpip._vendor.packaging.utilsrÚpip._internal.cli.base_commandrÚpip._internal.cli.req_commandrÚpip._internal.cli.status_codesrÚpip._internal.exceptionsrZpip._internal.reqrÚpip._internal.req.constructorsr r Úpip._internal.utils.miscr Úpip._internal.utils.typingr Úoptparser Útypingrrrrrr Ús