这个有效:
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 脚本指定绝对路径?
最佳答案
Python 不使用$PATH
环境变量。
您始终必须在命令行中指定 python 脚本的完整路径。这可以是当前目录的相对路径或绝对路径。
扩展名为 .py
的文件与 Python 可执行文件之间的关联是 separate registration ,其中 Windows 在脚本文件位于当前搜索路径后执行 Python 可执行文件。 Windows 在调用它时将脚本的完整绝对路径传递给 Python 可执行文件。当您直接使用 system
执行 Python 可执行文件时,您会绕过该查找。
您可以尝试使用 system "someScript.py"
直接执行 Python 脚本 没有 python
可执行文件,但我对 Ruby 和 Windows 不够熟悉,不知道这是否会支持 Windows 命令提示符使用的 .py
扩展注册。
关于python - Ruby 系统调用不观察 python 脚本的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13237600/