Poorly worded, let me try again...
James,
I cannot test it as I no longer have a Windows machine, but if memory serves....
Leverage Alex's script by creating a .bat file with a name like do.bat with
contents like...
REM this a BAT file
REM usage: do.bat <pythonscriptname> [<args>]
python C:\path\to\script\%1% %2% %3%
Also, if you setup your Windows environment variable %PATH% to include all or
part of the path to your script's dir, you can shorten or have no
C:\path\to\script\ requirement. And if IIRC, you need not type the .bat suffix
so usage could be:
do <scriptname> [<args>]
Again, I cannot test.
Larry
On Apr 8, 2011, at 3:27 PM, James Thiele wrote:
> Larry has correctly stated the steps to set this up on UNIX style systems
> such as OS X and Linux. Sadly this approach does not work on XP.
>
> I am not a Windows expert and I don't play one on TV but a variation on
> James' original idea would probably work.
>
> Put your script in C:\somewhere\reasonable\script.py
>
> In each directory put a myscript.bat with a line something like:
> python C:\somewhere\reasonable\script.py <whatever the syntax for batch
> parameters is>
>
> As I said I'm not a Windows expert. Anyone who knows more than me (not hard!)
> please feel free to point out what an idiot I am.
>
> On Fri, Apr 8, 2011 at 2:37 PM, Larry Bugbee <[email protected]> wrote:
> Alex's script should work, but FWIW, I've had good luck with:
> 1- #!/usr/bin/env python
> 2- removing the .py from the name (optional but makes for easier typing)
> 3- give the script execute permission (chmod +x ...)
> 3- ensuring the script's directory is in the searchlist ($PATH)
> ...on OSX. IIRC it worked on Linux as well.
>
> Larry
>
>
> On Apr 8, 2011, at 2:11 PM, Smartboy wrote:
>
>> In Linux and OSX you can create a bash script to do this for you. For
>> example:
>>
>> #!/bin/sh
>> python /path/to/script.py $@
>>
>> As for Windows, I think you can do something similar, I don't know batch
>> very well.
>>
>> Alex
>>
>> On 04/08/2011 02:02 PM, James Fort wrote:
>>>
>>> Hello SeaPIG,
>>>
>>> I wonder if anyone knows how to address the following issue. I looked in a
>>> book and Googled for a while and couldn't find what I'm looking for.
>>>
>>> I want to have a directory or set of directories that contain Python
>>> scripts which I can execute from anywhere in my file system. Right now,
>>> I'm concerned with Windows XP, but I may want to do the same in Mac OSX and
>>> Linux in the future. Essentially, I want to by able to type:
>>>
>>> currentDir>>>python script.py arg1 arg2
>>>
>>> Where arg1 and arg2 might be files in the current directory that act as
>>> inputs to the script and script.py is a script that resides in another
>>> directory.
>>>
>>> Here are some ideas I considered:
>>>
>>> Setting the PYTHONPATH variable to include a directory where script.py is
>>> stored. This did not work. It seems to only work for importing modules
>>> once the Python interpreter is already invoked.
>>> I read online and in a book that you can set "#!/usr/bin/python" as the
>>> first line in a script, assuming that this is the full path to the
>>> interpreter, put the script in /usr/bin or any other directory to which
>>> PATH points, and run the script using ">>>script.py". I read that this is
>>> only an option in Unix, however, and it doesn't allow me to specify the
>>> version of Python I want to use as would be possible if I prefixed the
>>> script submission command with ">>>python26 script.py". This also
>>> precludes me from using ">>>run script.py" from within Ipython.
>>>
>>> Does anyone know how to handle this? I noticed that I run the same script
>>> by copying the script into the directories in which I want to run it, but
>>> when I make revisions to the script, I have different versions sitting in
>>> different directories, which is becoming very difficult to manage.
>>>
>>> Thanks,
>>> James
>
>
>
>
> --
> Some radio waves were modulated in the creation of this email.