SILENT KILLERPanel

Current Path: > > opt > alt > python311 > lib > python3.11 > site-packages > pip > _internal > commands


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt/python311/lib/python3.11/site-packages/pip/_internal/commands

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
__init__.py File 3736 bytes November 13 2023 22:00:31.
cache.py File 7524 bytes November 13 2023 22:00:31.
check.py File 1685 bytes November 13 2023 22:00:31.
completion.py File 2958 bytes November 13 2023 22:00:31.
configuration.py File 8944 bytes November 13 2023 22:00:31.
debug.py File 6629 bytes November 13 2023 22:00:31.
download.py File 4904 bytes November 13 2023 22:00:31.
freeze.py File 2951 bytes November 13 2023 22:00:31.
hash.py File 1703 bytes November 13 2023 22:00:31.
help.py File 1132 bytes November 13 2023 22:00:31.
index.py File 4762 bytes November 13 2023 22:00:31.
install.py File 27851 bytes November 13 2023 22:00:31.
list.py File 12203 bytes November 13 2023 22:00:31.
search.py File 5697 bytes November 13 2023 22:00:31.
show.py File 8064 bytes November 13 2023 22:00:31.
uninstall.py File 3526 bytes November 13 2023 22:00:31.
wheel.py File 6168 bytes November 13 2023 22:00:31.

Reading File: //opt/alt/python311/lib/python3.11/site-packages/pip/_internal/commands/uninstall.py

import logging
from optparse import Values
from typing import List

from pip._vendor.packaging.utils import canonicalize_name

from pip._internal.cli.base_command import Command
from pip._internal.cli.req_command import SessionCommandMixin, warn_if_run_as_root
from pip._internal.cli.status_codes import SUCCESS
from pip._internal.exceptions import InstallationError
from pip._internal.req import parse_requirements
from pip._internal.req.constructors import (
    install_req_from_line,
    install_req_from_parsed_requirement,
)
from pip._internal.utils.misc import protect_pip_from_modification_on_windows

logger = logging.getLogger(__name__)


class UninstallCommand(Command, SessionCommandMixin):
    """
    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``.
    """

    usage = """
      %prog [options] <package> ...
      %prog [options] -r <requirements file> ..."""

    def add_options(self) -> None:
        self.cmd_opts.add_option(
            "-r",
            "--requirement",
            dest="requirements",
            action="append",
            default=[],
            metavar="file",
            help=(
                "Uninstall all the packages listed in the given requirements "
                "file.  This option can be used multiple times."
            ),
        )
        self.cmd_opts.add_option(
            "-y",
            "--yes",
            dest="yes",
            action="store_true",
            help="Don't ask for confirmation of uninstall deletions.",
        )

        self.parser.insert_option_group(0, self.cmd_opts)

    def run(self, options: Values, args: List[str]) -> int:
        session = self.get_default_session(options)

        reqs_to_uninstall = {}
        for name in args:
            req = install_req_from_line(
                name,
                isolated=options.isolated_mode,
            )
            if req.name:
                reqs_to_uninstall[canonicalize_name(req.name)] = req
            else:
                logger.warning(
                    "Invalid requirement: %r ignored -"
                    " the uninstall command expects named"
                    " requirements.",
                    name,
                )
        for filename in options.requirements:
            for parsed_req in parse_requirements(
                filename, options=options, session=session
            ):
                req = install_req_from_parsed_requirement(
                    parsed_req, isolated=options.isolated_mode
                )
                if req.name:
                    reqs_to_uninstall[canonicalize_name(req.name)] = req
        if not reqs_to_uninstall:
            raise InstallationError(
                f"You must give at least one requirement to {self.name} (see "
                f'"pip help {self.name}")'
            )

        protect_pip_from_modification_on_windows(
            modifying_pip="pip" in reqs_to_uninstall
        )

        for req in reqs_to_uninstall.values():
            uninstall_pathset = req.uninstall(
                auto_confirm=options.yes,
                verbose=self.verbosity > 0,
            )
            if uninstall_pathset:
                uninstall_pathset.commit()

        warn_if_run_as_root()
        return SUCCESS

SILENT KILLER Tool