1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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
- def run(self, options: Values, args: List[str]) -> int:
- 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}"')
- raise CommandError(" - ".join(msg))
- command = create_command(cmd_name)
- command.parser.print_help()
- return SUCCESS
|