AutoFramework/venv/Lib/site-packages/pip/_internal/commands/help.py

42 lines
1.1 KiB
Python
Raw Normal View History

2022-07-17 01:48:29 +08:00
from optparse import Values
from typing import List
from pip._internal.cli.base_command import Command
from pip._internal.cli.status_codes import SUCCESS
from pip._internal.exceptions import CommandError
class HelpCommand(Command):
"""Show help for commands"""
usage = """
%prog <command>"""
ignore_require_venv = True
2022-07-21 08:44:10 +08:00
def run(self, options: Values, args: List[str]) -> int:
2022-07-17 01:48:29 +08:00
from pip._internal.commands import (
commands_dict,
create_command,
get_similar_commands,
)
try:
# 'pip help' with no args is handled by pip.__init__.parseopt()
cmd_name = args[0] # the command we need help for
except IndexError:
return SUCCESS
if cmd_name not in commands_dict:
guess = get_similar_commands(cmd_name)
msg = [f'unknown command "{cmd_name}"']
if guess:
msg.append(f'maybe you meant "{guess}"')
2022-07-21 08:44:10 +08:00
raise CommandError(" - ".join(msg))
2022-07-17 01:48:29 +08:00
command = create_command(cmd_name)
command.parser.print_help()
return SUCCESS