On 6/18/06, Phillip J. Eby <[EMAIL PROTECTED]> wrote: > At 11:18 AM 6/18/2006 -0700, Guido van Rossum wrote: > >On 6/18/06, Nick Coghlan <[EMAIL PROTECTED]> wrote: > > > The 'bug fix' solution would be: > > > > > > 1. Change main.c and PySys_SetPath so that '' is NOT prepended to > > sys.path > > > when the -m switch is used > > > 2. Change runpy.run_module to add a __pkg_name__ attribute if the > > > module > > > being executed is inside a package > > > 3. Change import.c to check for __pkg_name__ if (and only if) > > __name__ == > > > '__main__' and use __pkg_name__ if it is found. > > > >That's pretty heavy-handed for a pretty esoteric use case. (Except #1, > >which I think should be done regardless as otherwise we'd get a > >messed-up sys.path.) > > Since the -m module is being run as a script, shouldn't it put the module's > directory as the first entry on sys.path?
Yes for a top-level module. No if it's executing a module inside a package; it's really evil to have a package directory on sys.path. > I don't think we should change > the fact that *some* directory is always inserted at the beginning of > sys.path -- and all the precedents at the moment say "script directory", if > you consider -c and the interactive interpreter to be scripts in the > current directory. :) You have a point about sys.path[0] being special. It could be the current directory instead of the package directory. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com