Finding unique/obsolete binary Debian packages
Your code looks very good, so I'll just propose some minor (and subjective) improvements:


Imports: PEP8 has some recommendations about grouping imports that sound pretty reasonable.
("s1" "s2"): I don't know what the orthodoxy says, but I prefer an explicit + in between.
list(): Why not []?
wheezy_packages.extend([pkg["Package"] for pkg in repo]) -> wheezy_packages.extend(pkg["Package"] for pkg in repo).
repo = a, then repo = f(repo). IMHO this is as common a pattern as is undesirable. Different values deserve different variable names (key point of functional programming).
Function too long: I'd split the code in at least two auxiliary functions, one to get wheezy_packages and another to run the commands.