On 02/29/2012 09:07 PM, bhuztez wrote: > IMHO, no extra support for them is required. Simply add support for > PEP 302 importers, Django will find management commands in pyc/pyo > files. > > I improved patch for #14087 weeks ago, which add support for PEP 302 > importers. I am just wondering why the core team did not even bother > to review it.
I looked over your patch briefly; I don't have time for a full review right now (probably after 1.4 is released), but in general I think the direction you're taking is the right one. The way Django currently finds management commands is pretty poor, because it makes all kinds of assumptions about the filesystem layout of Python packages that aren't valid (which is why it doesn't support zipped eggs, namespace packages, etc.) Adding direct support for pyc files into Django is a non-starter, because it takes us even further down the bad-assumptions road (pyc files are an internal CPython implementation detail, and in Python 3 they've already been moved into a __pycache__ subdirectory). Your approach, which moves away from the invalid assumptions and towards using real Python APIs (like pkgutil.iter_modules) is, I think, the right one. Carl
signature.asc
Description: OpenPGP digital signature