无法在 Windows 中从命令行运行 R 脚本

问题描述 投票:0回答:1

我正在尝试通过 python 中的子进程调用来运行 R 脚本(在 Windows 机器上)。子进程运行并返回已完成但 R 脚本尚未运行。所以现在我只是想让脚本从命令行执行。我没有收到任何错误,但脚本无法运行。

这是脚本:

#!/usr/bin/env Rscript

x <- data.frame("id" = c(1, 2, 3))

write.csv(x, "x.csv")

这是我尝试过的:

  1. 将 RScript 添加到 PATH
    "C:\Program Files\R\R-4.3.2\bin"
    并运行:
    Rscript.exe path\to\hello_world.R
  2. 使用可执行文件和脚本的完整路径:
    "C:\Program Files\R\R-4.3.2\bin\Script.exe" path\to\hello_world.R
  3. 导航到包含
    hello_world.R
    的文件夹并使用
    RScript.exe
    执行。我还尝试使用可执行文件的完整路径。

没有任何作用。我没有收到错误,但是

x.csv
没有被创建。

添加 Shebang 没有帮助。

请注意,如果我从 R 实例的工作目录中运行

source("hello_world.R")
,一切都会正常工作并创建文件。

我认为如果文件不会从命令行执行,它也不会从

subprocess()
执行。但一旦我能让命令行工作,我就会处理那里的任何问题。

如有任何帮助,我们将不胜感激。

r cmd
1个回答
0
投票

对我有用的东西:将 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 驱动器上没有任何地方对我有用。希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.