I want to call a python script from batch script, but I dont want to hard-code path to python executable (python.exe) in my calling script.
e.g.
c:\python26\python.exe test.py
$PYTHONPATH\python.exe test.py
Is there any way to have PYTHONPATH like setting ?
3 Answers 3
The simplest thing is to add c:\python26 to you system's PATH.
Also, depending on how you installed Python, you should be able to just use test.py on the command line.
2 Comments
set PYTHON_INSTALL=D:\python26
then:
%PYTHON_INSTALL%\python.exe test.py
You could set up the PYTHON_INSTALL var using My Computer | Advanced | Environment Variables if you want it to persist.
EDIT: And building on the other post (put the path to Python in the system path), you could have the best of both worlds:
set PATH=%PATH%;%PYTHON_INSTALL%
Then you can just call:
python test.py
EDIT 2:
Renamed 'PYTHONPATH' to 'PYTHON_INSTALL' as another poster pointed out that the environment variable 'PYTHONPATH' already has a defined use.
2 Comments
Try
set PYTHONPATH=c:\python26
%PYTHONPATH%\python.exe test.py
Or
set PATH=%PATH%;C:\python26;
python test.py
Note: environment variable PYTHONPATH has different purpose for searching python modules/extensions, So should not be shadowed.
PYTHONPATH : ';'-separated list of directories prefixed to the
default module search path. The result is sys.path.
Comments
Explore related questions
See similar questions with these tags.
test.py. or it doesn't work for you?python test.py? as this is the usual way to call Python script on Windows. Counting on right association of Python files is much more fragile.