Ruby系统调用没有观察python脚本的路径

时间:2012-11-05 17:53:33

标签: python ruby windows cmd system

这有效:

system "python \"C:/Program Files (x86)/Google/google_appengine/someScript.py\"

这不起作用:

system "python \"someScript.py\"

包含someScript.py的目录已添加到我的Windows PATH变量中,因此如果我打开CMD窗口并输入:

someScript.py

它运行良好。

如何使我的ruby脚本能够在观察windows环境路径变量的同时调用someScript.py,这样我就不必为python脚本指定绝对路径了?

1 个答案:

答案 0 :(得分:0)

Python 使用$PATH环境变量。

您始终必须在命令行上指定python脚本的完整路径。这可以是当前目录或绝对路径的相对值。

具有.py扩展名和Python可执行文件的文件之间的关联是separate registration,其中Windows在脚本文件位于当前搜索路径后执行Python可执行文件。 Windows在调用脚本时将脚本的完整绝对路径传递给Python可执行文件。当您使用system直接执行Python可执行文件时,可以绕过该查找。

可以尝试使用system "someScript.py" 直接执行Python脚本而不使用 python可执行文件,但我对Ruby并不熟悉Windows以了解是否尊重Windows命令提示符使用的.py扩展注册。