[Python-Dev] PEP 397 (Python launcher for Windows) reference implementation

Vinay Sajip vinay_sajip at yahoo.co.uk
Fri Jul 1 11:20:18 CEST 2011


Mark Hammond <skippy.hammond <at> gmail.com> writes:

> The intention is that there only be a single launcher, as only one app 
> can be associated with .py files.  OTOH though, file associations can be 
> configured per-user IIRC, and assuming that is the case, we could avoid 
> my multiple-ini-file usecase above by just allowing a different launcher 
> to be registered for a specific user.  This is sounding difficult from 
> the UI perspective though (ie, does the installer then need to ask that 
> question, will there be a post-install technique for per-user 
> registration, etc?)

I don't like this, for the reasons you state. I think it would be better if the
PEP was changed to say that there is intended to be just one launcher
installation per machine. As the intention is for the launcher to ship with
Python, and there can be multiple Pythons installed, I presume we'll have to
handle this by installing the launcher in some common-to-all-Pythons location
somewhere outside a Python installation location, such as "c:\Program
Files\Python Launcher". This should be stated in the PEP, and we'll also need to
indicate how the launcher will be cleaned up if for some strange reason someone
uninstalls all Pythons from a machine. Then we can just state that there's a
global .ini file (where the launcher is installed) and a local one (in the
user's APPDATA). From that perspective, it makes sense to have items in the
local (APPDATA) override the global (launcher installation location).
 
> Sure, that would be awesome!  I think that will mean your impl is fairly 
> close to the first draft of the PEP I checked into HG, which is nice and 
> still quite useful to use :)

Okay, I'll do this soon - once I've added a few tests. I've updated the
implementation to include help output.

BTW I thought of another thing that perhaps needs handling: what if a customized
command points to the launcher itself? It'd be turtles all the way down :-)

Regards,

Vinay Sajip




More information about the Python-Dev mailing list