How to make python scripts .py executable, not bring up editor

norseman norseman at hughes.net
Tue Jul 8 13:36:09 EDT 2008


OK- ;
	In Windows use the Window Explorer and go find a something.py.
Right click on it and select  Open With  then  Browse  and go find your 
Python24\python.exe and select it. Then check the box that says "Always 
use this for..." and test it by closing/re-opening WinExplorer and left 
clicking (or double clicking if so set) and it should attempt to run.
IF so then use the 'dos window' and try typing in just it's name.
ie... tryme.py     this should attempt to run also. If not, check the 
C:\autoexec.bat PATH line. It just might be that it has the unwanted 
Python editor's path there. If so, consider putting your python24 path 
BEFORE it. (Don't forget to re-boot after mods to autoexec.bat) If that 
isn't the problem you might consider a complete scrub, reformat and 
re-install of Windows and ALL your stuff. (Uggg!)

Don't be surprised if at some point it may "reset itself" back to it's 
current bad behavior.  The Python editor shouldn't unless it is 
re-installed for some reason.

The use of the bat file ignores any 'self reset' nonsense by forcing the 
desired action(s) by keeping Windows from wandering about. During the 
development cycle a modified copy in the working directory can delete 
program created files before (re)running script. This keeps Microsoft 
from yelling it can't function because something is in it's way. And 
hardcoding the file under development, along with any needed tokens, 
simplifies the command line and the cycle.
( del any files created in this loop (one line each)
( drive:\path_to\python pgm.py token tokens.....
( don't remember if pause or whatever - but give time to inspect screen
( preferred_editor pgm.py

      if in t.bat     then   t<cr>  tests it and returns you to edit.
Saves lots of typos, lowers anxiety, speeds up cycle, increases 
confidence in progress.

NOTE: I use Linux and I do have a typo in my original reply.
       USE %1   NOT %f  in the .bat file.  Sorry
            ^numeric one

Steve
norseman at hughes.net
=======================================================================

David Eynon wrote:
> When my anyname.py runs, instead of executing the script, it opens up
> the file within the Pythonwin text editor.
> 
=======================================================================
> On Mon, Jul 7, 2008 at 9:00 PM, norseman <norseman at hughes.net> wrote:
>> korean_dave wrote:
>>>> From command Prompt, i type in a script,  "tryme.py".
>>> This, instead, brings up PythonWin editor and Interactive Window.
>>>
>>> Path variable is "C:\Python24". (I need Python 2.4 installed, not 2.5)
>>>
>>> How do I make it so that the script runs?
>>> --
>>> http://mail.python.org/mailman/listinfo/python-list
>>>
>> ======================================
>> I get tired of Microsoft jerking me around too.  Rather than spend hours
>> trying to undo somebody's reorganizing my system preferences I just ignore
>> them completely.
>>
>> py tryme         is how I do it.
>>
>> py.bat is a file placed in a directory listed in PATH in autoexec.bat. Edit
>> autoexec.bat to include directory you put it in and reboot system or it
>> won't find it.  something like:  PATH=.;c:\py-stuff;[anything already
>> listed]    Don't forget the semicolons.
>>
>> The . (period) up front means look here first. here being where ever you are
>> when you issued the command. (The pRESENT wORKING dIRECTORY :-) The
>> c:\py-stuff (fix to suit yourself and make sure it exists) is where you can
>> put your efforts to be called at your leisure. Your .py files you write and
>> use. Even the py.bat can go there.
>>
>> (Short note: Microsoft usually does look in pwd first. But good form
>> dictates being specific.)
>>
>> contents of py.bat:
>> ========================
>> rem     name: py.bat
>> @echo off
>> c:\Python24\python %f.py                    make it fit your path
>> rem     end of file
>> ========================
>>
>> This way - you get what you expect, when you expect it, & nothing else.
>> Yeah - dumb, but it works!  I have one similar for each of my compilers.
>> They contain the whole command line switches stuff as well as things like
>> remove old stuff before trying to over write with new since MS can be
>> temperamental about that.
>>
>> Easiest way in the world to give it the finger and make it behave.
>>
>> Steve
>> norseman at hughes.ney
>>
> 




More information about the Python-list mailing list