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.
eg
c:\python26\python.exe test.py
$PYTHONPATH\python.exe test.py
Is there any way to have PYTHONPATH like setting ?
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.
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.
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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.