3 ÝPf6ã@sdd„Zdd„Zdd„ZdS)cCsbi}i}xP|D]H}d|j|jf}tt||ƒƒ}|r<|||<tt||ƒƒ}|r|||<qW||fS)Nz%s==%s)Ú project_nameÚversionÚlistÚget_missing_reqsÚget_incompatible_reqs)Úinstalled_distsZmissing_reqs_dictZincompatible_reqs_dictÚdistÚkeyZ missing_reqsZincompatible_reqs©r ú/usr/lib/python3.6/check.pyÚcheck_requirementss   r ccsLtdd„|Dƒƒ}tƒ}x.|jƒD]"}|jjƒ|kr"|j|ƒ|Vq"WdS)z\Return all of the requirements of `dist` that aren't present in `installed_dists`. css|]}|jjƒVqdS)N)rÚlower)Ú.0Údr r r ú sz#get_missing_reqs..N)ÚsetÚrequiresrr Úadd)rrZinstalled_namesZmissing_requirementsÚ requirementr r r rs  rccsTi}x|D]}|||j<q Wx2|jƒD]&}|j|jƒ}|r&||kr&||fVq&WdS)zyReturn all of the requirements of `dist` that are present in `installed_dists`, but have incompatible versions. N)rrÚget)rrZinstalled_dists_by_nameZinstalled_distrZ present_distr r r r$s   rN)r rrr r r r Ús