我正在尝试通过 python 中的子进程调用来运行 R 脚本(在 Windows 机器上)。子进程运行并返回已完成但 R 脚本尚未运行。所以现在我只是想让脚本从命令行执行。我没有收到任何错误,但脚本无法运行。
这是脚本:
#!/usr/bin/env Rscript
x <- data.frame("id" = c(1, 2, 3))
write.csv(x, "x.csv")
这是我尝试过的:
"C:\Program Files\R\R-4.3.2\bin"
并运行:Rscript.exe path\to\hello_world.R
"C:\Program Files\R\R-4.3.2\bin\Script.exe" path\to\hello_world.R
hello_world.R
的文件夹并使用 RScript.exe
执行。我还尝试使用可执行文件的完整路径。没有任何作用。我没有收到错误,但是
x.csv
没有被创建。
添加 Shebang 没有帮助。
请注意,如果我从 R 实例的工作目录中运行
source("hello_world.R")
,一切都会正常工作并创建文件。
我认为如果文件不会从命令行执行,它也不会从
subprocess()
执行。但一旦我能让命令行工作,我就会处理那里的任何问题。
如有任何帮助,我们将不胜感激。
对我有用的东西:将 a.R 文件放在 rscript.exe 的父文件夹中可以让它运行。
这在返回空提示之前仅产生“正在运行”的输出:
C:\Users\[me]\AppData\Local\Programs\R\R-4.3.2\bin\Rscript.exe --verbose "C:\Users\[me]\Downloads\a.R"
直到我将 a.R 文件放在这里:
C:\Users\[me]\AppData\Local\Programs\R\R-4.3.2\bin\Rscript.exe "C:\Users\[me]\AppData\Local\Programs\R\a.R"
不知道发生了什么。将 a.R 放在外部/服务器驱动器上也有效,但除了父 R 文件夹之外,C 驱动器上没有任何地方对我有用。希望有帮助。