You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
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
 |