【发布时间】:2021-04-23 05:32:10
【问题描述】:
我正在尝试从 python 脚本触发 R 脚本。 R 脚本必须在 Microsoft R Server 中运行,因此我不会尝试通过 rpy2 之类的库之一直接运行 R 代码,而是使用 Subprocess 执行它。
当我运行它时,我收到以下错误:
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called 'jsonlite'
Calls: <Anonymous> ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
Approvals list:
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called 'jsonlite'
Calls: <Anonymous> ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
这是我在 python 脚本中使用的函数:
def runScript():
rlocation = "/Program Files/Microsoft/ML Server/R_SERVER/bin/x64/Rscript.exe test.r"
subprocess.run(rlocation)
因为错误似乎表明它缺少依赖包,所以我制作了一个简单的 Hello World 包,以确保脚本本身需要安装一些东西没有问题。 R脚本代码在这里:
print("Hello World")
python 脚本似乎正在执行 Rscript.exe,但程序存在文件问题。但是文件本身非常简单,不应该抛出错误。目前我不确定接下来要在哪里进行故障排除。
【问题讨论】: