� ��^i� ����ddlZddlmZddlmZddlmZddlmZddl m Z m Z ddl m Z ddlmZdd lmZdd lmZmZdd lmZeje��ZGd �d ee ��ZdS)�N)�Values)�List)�canonicalize_name)�Command)�SessionCommandMixin�warn_if_run_as_root)�SUCCESS)�InstallationError)�parse_requirements)�install_req_from_line�#install_req_from_parsed_requirement)�(protect_pip_from_modification_on_windowsc�>�eZdZdZdZd d�Zdedeede fd�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 ���|j�ddddgdd���|j�dd 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)�selfs ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/commands/uninstall.py� add_optionszUninstallCommand.add_options$s��� � � � � � �����A� !� � � � � � � � � ���E� !� � � � � �'�'��4�=�9�9�9�9�9��options�argsc��|�|��}i}|D]R}t||j���}|jr||t |j��<�7t �d|���S|jD]K}t|||���D]6}t||j���}|jr||t |j��<�7�L|s td|j�d|j�d����td|v���|� ��D]=}|� |j|jd k� ��} | r| ����>t#��t$S) 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_confirm�verbose)�get_default_sessionr � isolated_mode�namer�logger�warningrr r r r�values� uninstallr� verbosity�commitrr ) r!r%r&r)�reqs_to_uninstallr0�req�filename� parsed_req�uninstall_pathsets r"�runzUninstallCommand.run;s����*�*�7�3�3����� � �D�'�� �.����C��x� �AD�!�"3�C�H�"=�"=�>�>����%�� ����  �,� I� I�H�0��'�7���� I� I� �:���)>������8�I�EH�%�&7���&A�&A�B�� I�!� �#�+�T�Y�+�+�!�Y�+�+�+��� � 1��#4�4� � � � �%�+�+�-�-� +� +�C� #� � �$�[����*�!.�!�!� �!� +�!�(�(�*�*�*�������r$)rN) �__name__� __module__� __qualname__�__doc__�usager#rr�str�intr<�r$r"rrsf�������� 4�E�:�:�:�:�..�6�.��c��.�s�.�.�.�.�.�.r$r)�logging�optparser�typingr�pip._vendor.packaging.utilsr�pip._internal.cli.base_commandr�pip._internal.cli.req_commandrr�pip._internal.cli.status_codesr �pip._internal.exceptionsr �pip._internal.reqr �pip._internal.req.constructorsr r �pip._internal.utils.miscr� getLoggerr=r1rrDr$r"�rQs4������������������9�9�9�9�9�9�2�2�2�2�2�2�R�R�R�R�R�R�R�R�2�2�2�2�2�2�6�6�6�6�6�6�0�0�0�0�0�0���������N�M�M�M�M�M� �� �8� $� $��T�T�T�T�T�w� 3�T�T�T�T�Tr$