importloggingfromoptparseimportValuesfromtypingimportListfrompip._internal.cli.base_commandimportCommandfrompip._internal.cli.status_codesimportERROR,SUCCESSfrompip._internal.operations.checkimport(check_package_set,create_package_set_from_installed,warn_legacy_versions_and_specifiers,)frompip._internal.utils.miscimportwrite_outputlogger=logging.getLogger(__name__)classCheckCommand(Command):"""Verify installed packages have compatible dependencies."""usage="""%prog [options]"""defrun(self,options:Values,args:List[str])->int:package_set, parsing_probs=create_package_set_from_installed()warn_legacy_versions_and_specifiers(package_set)missing, conflicting=check_package_set(package_set)forproject_nameinmissing:version=package_set[project_name].versionfordependencyinmissing[project_name]:write_output("%s%s requires %s, which is not installed.",project_name,version,dependency[0],)forproject_nameinconflicting:version=package_set[project_name].versionfordep_name,dep_version,reqinconflicting[project_name]:write_output("%s%s has requirement %s, but you have %s%s.",project_name,version,req,dep_name,dep_version,)ifmissingorconflictingorparsing_probs:returnERRORelse:write_output("No broken requirements found.")returnSUCCESS