我正在尝试从python脚本触发R脚本。R脚本必须在Microsoft R Server中运行,所以不是尝试直接运行R代码,而是通过像rpy2这样的库来执行它。
当我运行它时,我得到了以下错误:
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,但是程序对文件有问题。但是文件本身是如此简单,不应该抛出错误。在这一点上,我不确定下一步该在哪里进行故障排除。
发布于 2021-04-23 05:32:11
答案最终是只安装包'jsonlite‘。尽管我的脚本在GUI上工作没有任何问题,也没有使用任何应该使用JSON的包或依赖项。无论出于什么原因,我的脚本都需要直接运行。这对我来说没什么意义,但它现在起作用了.¯_(ツ)_/`
也许这会帮助其他遇到同样问题的人。
https://stackoverflow.com/questions/67204533
复制相似问题