【问题标题】:Getting a loadNamespace error when triggering an R script from python从 python 触发 R 脚本时出现 loadNamespace 错误
【发布时间】: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,但程序存在文件问题。但是文件本身非常简单,不应该抛出错误。目前我不确定接下来要在哪里进行故障排除。

【问题讨论】:

    标签: python r


    【解决方案1】:

    答案最终只是安装包“jsonlite”。尽管我的脚本在 GUI 上运行没有问题,并且没有使用任何应该使用 JSON 的包或依赖项。无论出于何种原因,我的脚本都需要直接运行。这对我来说毫无意义,但它现在正在工作,所以......¯_(ツ)_/¯

    也许这会帮助遇到同样问题的其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 2019-08-23
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多