【发布时间】:2020-10-06 07:32:05
【问题描述】:
我有一个要部署在 shinyapps.io 上的应用程序。我认为重要的是要注意应用程序中的数据是从 athena 的数据库中提取的。我使用包 Rathena 连接到数据库,并且所有东西都可以在我的计算机本地正常运行。但是,我尝试将其部署在 shinyapps.io 上,并收到一条消息,指出发生了错误。我只是在部署后弹出的窗口中看到了这一点。我去查看了 shinyapps.io 的日志部分,我看到了这样的消息:
警告:使用 reticulate 但未指定 python;将在 /usr/bin/python3 使用 python 您是否忘记在发布之前在 .Rprofile 中设置 RETICULATE_PYTHON 环境变量?
我从未使用过 .Rprofile,也不知道 RETICULATE_PYTHON 是什么意思。无论如何,他们在堆栈溢出时说谷歌是你最好的朋友。我在 Github 上发现这个教程叫做 Tutorial: using Shiny + reticulate to create apps with R and Python 3。我按照它所说的那样做了最初的步骤,然后在最后说:
确认 .Rprofile 文件包含在您的项目目录中,并与 server.R 和 ui.R 一起部署到 shinyapps.io。此文件设置 RETICULATE_PYTHON 环境变量,它告诉 reticulate 在 shinyapps.io 服务器上的何处定位 Python 虚拟环境。
我查看了 .Rprofile 是什么,我认为它只是一个代码脚本,但它并没有告诉我应该放什么代码。我想我需要提一下 Rathena 包使用 Python 代码连接到数据库。
我还在某处读到我应该将这一行 RETICULATE_PYTHON = /usr/local/bin/python3 放在我的 .Renviron 文件中。我这样做了,现在当我尝试在我的计算机上本地运行该应用程序时,我收到错误消息:
错误:未检测到 Boto3 请在终端中使用
pip install boto3 numpy或install_boto()安装 boto3。 如果这不起作用,请将您正在使用的 python 设置为reticulate::use_python()或reticulate::use_condaenv()
这没有意义,因为我已经安装了 boto3,甚至在终端中也显示了
已满足要求:./Library/r-miniconda/envs/r-reticulate/lib/python3.6/site-packages (1.14.28) 中的 boto3
我觉得我在这里兜圈子。
【问题讨论】:
-
也许可以提供帮助,我有一个使用 reticulate 的闪亮应用程序,可以在本地和 shinyapps.io 中运行我不知道它是否正是你需要的,但可以作为一个点参考。 github.com/tomicapretto/density_estimation/tree/master/R/app
标签: python r shiny reticulate