Issue 3441: Regression in "module as a script" command-line option (original) (raw)

Created on 2008-07-25 04:09 by richard, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (5)
msg70240 - (view) Author: Richard Jones (richard) * (Python committer) Date: 2008-07-25 04:09
The Python 2.5 "-m" command-line option allowed execution of a package directly, by invoking the __init__.py module. Python 2.6 no longer allows this. This is a quite unfortunate regression, and I would urge the decision to hobble it to be reconsidered.
msg70251 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2008-07-25 12:33
Please see #2751.
msg70289 - (view) Author: Alyssa Coghlan (ncoghlan) * (Python committer) Date: 2008-07-26 06:40
Now, if someone was to provide a 2.7 rfe with associated patch that implements this feature properly, and includes an explanation for why it doesn't subtly break imports the way 2.5 does, that would be a completely different story. But it isn't as simple as just getting rid of the explicit check that prevents packages from being executed.
msg70290 - (view) Author: Richard Jones (richard) * (Python committer) Date: 2008-07-26 06:48
I'm afraid it's all a bit opaque to an outsider like me. I've no idea what subtle breakage the feature was causing. I just saw it working quite nicely for me in 2.5 :)
msg70291 - (view) Author: Alyssa Coghlan (ncoghlan) * (Python committer) Date: 2008-07-26 07:10
If I recall correctly (it's been a while), the breakages were tied in with relative imports - probably something like explicit relative imports not working at all, and implicit relative imports appearing to work, but resulting in incorrect module names and sys.modules entries (similar to running a file from inside a package directly). Doing "python -m package.__init__" instead of "python -m package" is actually better behaved (although still a little odd - the __init__ module code gets run once on the actual package import, and then again as __main__).
History
Date User Action Args
2022-04-11 14:56:36 admin set github: 47691
2008-07-26 07:10:37 ncoghlan set messages: +
2008-07-26 06:48:32 richard set messages: +
2008-07-26 06:40:09 ncoghlan set messages: +
2008-07-25 12:33:07 benjamin.peterson set status: open -> closednosy: + benjamin.petersonresolution: duplicatemessages: +
2008-07-25 07:09:02 georg.brandl set assignee: ncoghlannosy: + ncoghlan
2008-07-25 04:10:58 richard set type: behavior
2008-07-25 04:09:06 richard create