[Python-Dev] Generally boared by installation (Re: Setting project home path the best way)

Nick Coghlan ncoghlan at gmail.com
Tue Nov 20 15:44:53 CET 2012


On Tue, Nov 20, 2012 at 11:45 PM, Christian Tismer <tismer at stackless.com>wrote:

>  On 20.11.12 12:39, Nick Coghlan wrote:
>
> On Tue, Nov 20, 2012 at 7:06 PM, Kristján Valur Jónsson <
> kristjan at ccpgames.com> wrote:
>
>>  I’m intrigued.  I thought this was merely so that one could do
>>
>> python –m mypackage.mysubpackage
>>
>> Can you refer me to the rationale and discussion about this feature?
>>
>
> It was part of a fairly long progression in changes to the command line
> execution support :)
>
> Top level package execution with -m came first in 2.4, arbitrary package
> execution for -m arrived in 2.5 (along with the runpy module), directory
> and zipfile execution (by supplying a valid sys.path entry as the "script"
> command line argument) was added in 2.6/3.0, and finally officially
> supported package execution via -m only arrived in 2.7 and 3.1 (a broken
> version of the last accidentally existed in 2.5, but that was just a
> mistake that arose when merging the import emulations in runpy and pkgutil,
> and had a side effect that violated at least one of the import system
> invariants).
>
> In the specific case of directory and zipfile execution, discussion
> happened on the tracker: http://bugs.python.org/issue1739468
>
> It was never brought up on python-dev because Guido was participating
> directly in the tracker discussion. Unfortunately, we then also forgot to
> mention it in the original version of the 2.6 What's New doc, so the vast
> majority of people missed the addition :(
>
>
> Hi Nick,
>
> thank you very much for this story and the link to the issue tracker!
> A very good move for Python which is really not mentioned enough
> to make people more aware of a great feature.
>
> I think part of this discussion should get a more prominent place
> for gems that can be found without knowing what to search. ;-)
>

Technically, that's the "using" guide:
http://docs.python.org/2/using/cmdline.html#interface-options (see the
explanation of what's executable under the "<script>" tag)

I also wrote up a summary last year on my blog:
http://www.boredomandlaziness.org/2011/03/what-is-python-script.html

(The main change since that post is that the Python launcher brings shebang
line support to Windows, although I haven't checked if it works properly
with prefixed zip files)

Maybe I should plan to sign up to present an updated version of my PyCon AU
2010 "What is a Python script?" lightning talk at PyCon US 2013 :)


> Is the issue tracker permanent enough to reference it?
>

I've been referencing that particular issue for years now, so I certainly
think so :)


> Maybe there could be some auxiliary info page with proper keywords
> that collects links to relevant discussions like this.
> Do we have such a thing already?
>

I've sometimes thought it may be a good idea to split out a separate "What
is a Python script?" section in the using guide, separate from the existing
descriptions under the interpreter options. I've never tried to figure out
the details of how that would actually work, though.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20121121/642d32f1/attachment.html>


More information about the Python-Dev mailing list