[Python-3000] PEP to change how the main module is delineated (original) (raw)

Guido van Rossum guido at python.org
Tue Apr 24 00:56:49 CEST 2007


On 4/23/07, Adam Olsen <rhamph at gmail.com> wrote:

On 4/23/07, Guido van Rossum <guido at python.org> wrote: > I'm -1 on this and on any other proposed twiddlings of the main > machinery. The only use case seems to be running scripts that happen > to be living inside a module's directory, which I've always seen as an > antipattern. To make me change my mind you'd have to convince me that > it isn't.

So ./python Lib/test/regrtest.py and ./python Lib/test/testsomething.py are both wrong?

I'll happily admit they are bad examples, though as long as they work I don't care (and since they do work, I don't see them as motivating the PEP :-).

This occasionally causes problems when someone adds a new test module that imports stuff using implicit relative imports. Fortunately those will be gone in py3k.

I note there's 26 files marked executable and 50 with #!/usr/bin/env python, so there's quite a bit of prior art in the "old way".

Where are these files? If they are directly in Lib, that's not a problem. The PEP only addresses what happens if these are in a subpackage (like test).

Besides correcting the stdlib, adding a warning when running a script from a dir with init.py would help change the momentum.

Patch anyone? We could move regrtest out of the test package into Lib.

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-3000 mailing list