【发布时间】:2018-12-05 04:25:27
【问题描述】:
我正在尝试在 R Shiny 中进行并行处理,我想做的并行任务是调用 python 脚本。但是它不起作用并且无法将结果从 python 获取回 R。 下面是示例 R 闪亮和 Python 代码。 App.R
library(shiny)
library(reticulate)
library(doParallel)
library(foreach)
ui <- fluidPage(
# Application title
titlePanel("Sample Program"),
mainPanel(
uiOutput("txtValue")
)
)
server <- function(input, output) {
source_python("../../PythonCode/Multiprocessing/multip.py")
cl <- makeCluster(detectCores(), type='PSOCK')
registerDoParallel(cl)
result <- foreach(i=1:5) %dopar% fsq(i)
stopCluster(cl)
output$txtValue <- renderUI({
result
})
}
shinyApp(ui = ui, server = server)
Python 代码 (multip.py)
def fsq(x):
return x**2
【问题讨论】:
-
source_python来自哪里? “它不起作用”是什么意思? -
python函数调用未执行,结果行报错
-
source_python是引用python脚本,来自reticulate包。错误消息是“反序列化错误(socklist[[n]]):从连接读取错误”
标签: python r parallel-processing shiny doparallel