I want to call a python script from batch script, but I do开发者_如何学编程nt 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 ?
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.
精彩评论