Be aware that by default the Apache web server _WILL_ use the shebang line
even when running on Windows to try to find the Python interpreter when
python is run as a CGI script.  

There is a setting in the configuration file that controls whether to use
the shebang line or to reference the windows registry.  The setting is 
        ScriptInterpreterSource registry

-jdc

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Alan Gauld
Sent: Thursday, April 05, 2007 4:28 AM
To: tutor@python.org
Subject: Re: [Tutor] windows and python and shebangs, oh my!

"Kirk Bailey" <[EMAIL PROTECTED]> wrote

> OK, in a script, we include a special statement telling the shell 
> where to go find the interpeter. This is the first line of the script, 
> and is a dpecial sort of comment, called informally the shebang.

Yes, but it is not a Python feature it is a Unix thing.
When you execute a script (of any kind) in Unix the Unix
shell(*) reads the first line and if its a shebang transfers control to the
appropriate interpreter.

(*) And not all Unix shells adhere to the convention, but thankfully the
vast majority do. The SVR4 Bourne shell didn't as I recall.

> In windows, this is for the current edition C:\python25\pythonw.exe so 
> the shebang is #!C:\python\pythonw.exe

This is often done purely as a convention that shows what version of Python
the script was created for.
Python does nothing with it, it is only a comment.

> At a loss, it then occurred to me that the program is a .py name 
> extension. When the auto installer installed python it may have 
> created an association between that name extension and the correct 
> interpreter automatically,

Correct, or you can do it manually. tHat is the only way that Windows
associates files with commands.

> So work with me, windows Pythonistas. CAN I rely on windows definitely 
> and reliably having .py files associated with the windows python 
> interpreter,

No, the association can be changed by any user or install script.

But in practice it rarely is changed so you can habe a good chance of
success.
If you really want to be sure the associations are stored in the registry.
You can look them up and change them (or add a missing one) as you need.

> If so, my task of designing the autoinstaller script just got a LOT 
> simpler.

On Windows the answer is usually in the registry somewhere, you just need to
figure out where to look!

Alan G. 


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to