2017-07-07 43 views
0

如何从R调用sconstruct脚本(例如在Rstudio中)?我想打电话给SCons,理想情况下,也读取输出。这样我就可以从例如scons --tree=all作为一个字符串。从R调用SConstruct

如果我跑> system("scons") 我得到:sh: scons: command not found

设置路径Sys.setenv(PATH=paste(Sys.getenv("PATH"), "/path/to/my/sconstruct", sep=":"))没有帮助。

但是,任何其他命令的作品。例如。如果我有一个Python脚本(在同一个目录中),我可以将其称为:> system('python test.py') 并获得期望:Hello Rld!回来。 >system('ls')列出了SConstruct,所以我在正确的工作目录中。

从Python脚本调用也可以,例如:from subprocess import callcall('scons')唤起SConstruct的预期。但是,从R调用Python脚本不起作用。

看来R环境设置中有些东西我错了。

我在OS上,但一个便携式的解决方案将是太棒了!

回答

1

您需要将其存放在SConstruct所在的目录中,指定它的文件或使用-C将目录更改为它。 我不知道R或者语法是什么。

Sys.setenv(PATH=paste(Sys.getenv("PATH"), "/path/to/my/sconstruct", sep=":")) 

可能应:

Sys.setenv(PATH=paste(Sys.getenv("PATH"), "/path/to/scons", sep=":"))