2017-07-07 2 views
0

Comment puis-je appeler un script sconstruct à partir de R (par exemple dans Rstudio)? Je voudrais appeler SCons et, idéalement, lire également la sortie. Pour que je puisse obtenir l'impression par exemple scons --tree=all en tant que chaîne.Appel de SConstruct à partir de R

Si je cours > system("scons") je reçois: sh: scons: command not found

Définition du chemin Sys.setenv(PATH=paste(Sys.getenv("PATH"), "/path/to/my/sconstruct", sep=":")) ne contribue pas.

Toutefois, toute autre commande fonctionne. Par exemple. si j'ai un script Python (dans le même répertoire), je peux l'appeler: > system('python test.py') et obtenir le résultat attendu: Hello Rld!. >system('ls') répertorie les SConstruct, donc je suis dans le bon répertoire de travail.

L'appel à partir d'un script Python fonctionne également, par exemple: from subprocess import callcall('scons') évoque le SConstruct comme prévu. Toutefois, appeler ce script Python à partir de R ne fonctionne pas.

Il semble qu'il y ait quelque chose dans le paramètre d'environnement R que j'ai eu tort.

Je suis sur OS, mais une solution portable serait fantastique!

Répondre

1

Vous devrez soit être dans le répertoire où se trouve le SConstruct, soit spécifier son fichier ou utiliser -C pour y accéder. Je ne sais pas R ou quelle est la syntaxe.

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

Devrait probablement:

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