在 Golem Shiny 应用程序中使用 {future} 和 {furrr} 函数时出现错误,它来自什么?
I get an error when using {future} and {furrr} functions within a Golem Shiny App, what does it come from?
我目前正在开发一个名为“package_name”的 Golem Shiny App(这对我来说是一个要求),为此我创建的一些函数需要使用 {furrr}
和 {future}
包。
但是,每当我尝试 运行 它们时,我都会收到以下错误:
Error : there is no package called 'package_name'
请注意,任何不使用任何一个包的函数都可以正常工作。
有人知道问题出在哪里吗?
谢谢!
使用 {golem}
构建应用程序时,您的计算机上未安装应用程序包。
当您使用 {future}
时,代码是 运行 在 另一个 R 会话 中,这意味着对象被传输并重新加载库。
但是,如果您尝试在未来的应用中使用当前应用中的某个功能,则需要使其“可移植”,并且使用 package_name::function()
将不起作用,因为您的软件包未安装。
假设您需要使用包内定义的 current_app_fun()
。
从技术上讲,{future}
将能够传输此功能,因为它使用 {globals}
来标识要传输到新 R 会话的对象。
observeEvent( input$bla , {
# future() will identify that it needs to
# transport current_app_fun()
future({
current_app_fun()
})
})
你也可以做一个额外的步骤来格外小心:
observeEvent( input$bla , {
func_for_future <- current_app_fun
future({
func_for_future()
})
})
干杯,
科林
我目前正在开发一个名为“package_name”的 Golem Shiny App(这对我来说是一个要求),为此我创建的一些函数需要使用 {furrr}
和 {future}
包。
但是,每当我尝试 运行 它们时,我都会收到以下错误:
Error : there is no package called 'package_name'
请注意,任何不使用任何一个包的函数都可以正常工作。
有人知道问题出在哪里吗?
谢谢!
使用 {golem}
构建应用程序时,您的计算机上未安装应用程序包。
当您使用 {future}
时,代码是 运行 在 另一个 R 会话 中,这意味着对象被传输并重新加载库。
但是,如果您尝试在未来的应用中使用当前应用中的某个功能,则需要使其“可移植”,并且使用 package_name::function()
将不起作用,因为您的软件包未安装。
假设您需要使用包内定义的 current_app_fun()
。
从技术上讲,{future}
将能够传输此功能,因为它使用 {globals}
来标识要传输到新 R 会话的对象。
observeEvent( input$bla , {
# future() will identify that it needs to
# transport current_app_fun()
future({
current_app_fun()
})
})
你也可以做一个额外的步骤来格外小心:
observeEvent( input$bla , {
func_for_future <- current_app_fun
future({
func_for_future()
})
})
干杯, 科林