-3

我们正在通过 R Shiny 构建用户界面 APP(通过机器学习模型预测连续变量)。由于我们在 Python3 sklearn 模块中构建了机器学习模型,我们希望我们可以在 R Shiny 中编写 Python 代码来调用该模型和相应的函数。

我们使用 R-package “reticulate” 来创建虚拟 python 环境,它可以保存 python 包,并通过它我们可以调用 python3 函数。

我们使用以下代码行创建了虚拟环境(R 包“reticulate”中的函数)

use_virtualenv("env", required = TRUE)

我们确实有以下目录“env/bin”,其中有要执行的 python 和 python3。

Shiny APP 在本地完美运行。但是,当我们尝试发布时,它给出了以下错误(请参见图片)(成功部署APP后,在shinyapps.io上,它说APP正在运行)。

问题是“错误126”,它拒绝了我们的APP访问虚拟环境的权限。这个问题在 Stackoverflow 上没有以前的(类似)案例,因此我们花了很长时间调试(问题未解决)。

如果有人知道如何解决这个问题,您是否可以在下面标记您的解决方案提示?(我们希望您的解决方案不会修改我们的基本布局,即“在 Shiny 中调用 python 制作的模型并通过 Shiny 发布”)我们非常感谢您为我们提供的帮助!

太感谢了!

4

2 回答 2

0

你能分享实际调用python脚本的代码吗?它是您从 Rshiny 调用的 python 模块函数吗?python模块/函数做什么并返回?我在 Shiny 中使用了 reticulate 来调用 Python 脚本,它工作正常。不需要设置环境。只需提供 python 脚本的源代码并像任何其他 R 函数一样调用它。

于 2018-06-22T09:53:11.787 回答
0

如果您尝试部署到 shinyapps.io,您可能需要设置RETICULATE_PYTHONenv 变量,以便reticulate在运行您的应用程序时使用正确的 Python 版本:

VIRTUALENV_NAME = 'env'
Sys.setenv(RETICULATE_PYTHON = paste0('/home/shiny/.virtualenvs/', 
                               VIRTUALENV_NAME, 
                               '/bin/python'))

此处的完整示例演示了一种配置 Shiny + reticulate 应用程序的方法,以便它可以轻松地在本地和 shinyapps.io 上运行。

于 2020-10-09T19:01:03.250 回答