0

我想从批处理脚本中调用python脚本,但我不想在我的调用脚本中硬编码python可执行文件(python.exe)的路径。环境中的Python路径

例如

c:\python26\python.exe test.py 

$PYTHONPATH\python.exe test.py 

有什么办法让PYTHONPATH像设置?

+0

为什么不把它叫做'test.py'。或者它不适合你? – SilentGhost 2010-01-29 16:45:15

+0

@SilentGhost问题应该是相当*为什么不调用'python test.py' * *,因为这是在Windows上调用Python脚本的常用方法。对Python文件的正确关联进行计数要脆弱得多。 – 2011-10-15 18:22:17

回答

4

最简单的事情就是将c:\ python26添加到您的系统PATH中。

另外,根据您如何安装Python,您应该能够在命令行上使用test.py。

+0

蟒蛇安装不做任何这样的设置?因为我不知道我的脚本将在哪个设置上运行。 – 2010-01-29 20:56:46

+0

一些Python安装程序可以,但我不知道你是否可以依靠它。 – 2010-01-29 21:15:03

+0

@vinit - ActivePython呢。 – 2011-03-14 21:47:16

3
set PYTHON_INSTALL=D:\python26 

则:

%PYTHON_INSTALL%\python.exe test.py 

你可以使用我的电脑设置了PYTHON_INSTALL VAR |高级|环境变量,如果你想保持。

编辑: 而对其他职位(把路径Python的系统路径),你可以有两全其美的建筑:

set PATH=%PATH%;%PYTHON_INSTALL% 

然后,你可以致电:

python test.py 

编辑2:

改名“PYTHONPATH”到“PYTHON_INSTALL”作为另一个海报指出,环境变量“PYTHONPATH”已经具有定义的用途。

+1

不要为此使用PYTHONPATH,因为它已经用于不同的目的(告诉Python有关额外的目录以添加到其模块搜索路径。) – 2010-01-29 17:02:13

+1

我认为'设置PATH'应该使用';'作为分隔符。 – 2010-01-29 19:46:52

0

尝试

set PYTHONPATH=c:\python26 
%PYTHONPATH%\python.exe test.py 

或者

set PATH=%PATH%;C:\python26; 
python test.py 

注意:环境变量PYTHONPATH具有检索Python模块/扩展不同的目的,所以不应该被隐藏。

PYTHONPATH : ';'-separated list of directories prefixed to the 
       default module search path. The result is sys.path.