At 10:00 PM 9/16/2005 +0100, Paul Moore wrote:
On 9/16/05, Trent Mick email@example.com wrote:
The only missing piece so far, for me at least, is that it's not possible to use dotted module names with the -m option:
p24 -m ctypes.wrap.h2xml windows.h
That's too bad. I didn't know "-m" didn't support that... but then I haven't really used it that much yet.
There's a patch on SF to implement that (1043356 ) and a corresponding PEP (338), but I don't know what's required to get it added.
Another annoyance with -m is that it doesn't support modules in zipfiles (e.g., zipped eggs).
Really, the only reasonable way to solve both problems is something like 'python -m run foo.bar ....'. That is, have a bootstrap module to do the rest. (Or alternately, have -m fallback to using the bootstrap module if it's unsuccessful.)
However, after reflection, I think now that -m probably only really makes sense for stdlib modules, since projects using setuptools can now get all the benefits of -m without any of the drawbacks, without even writing any __name__=='__main__' code. For example defining an entry point thus:
[console_scripts] h2xml = ctypes.wrap.h2xml:main
automatically creates 'h2xml.exe' on Windows and a #!-prefixed 'h2xml' script on any other platform. (Using the current CVS version of setuptools, that is.)