我有一个应用程序想要部署在shinyapps.io 上。我认为值得注意的是,应用程序中的数据是从 athena 的数据库中提取的。我使用Rathena包连接到数据库,并且所有内容都可以从我的计算机本地正常运行。但是,我尝试将其部署到shinyapps.io 上,但收到一条消息,指出发生了错误。我只是在部署后弹出的窗口中看到了这一点。我查看了shinyapps.io 的日志部分,看到这样的消息:
警告:使用网状但未指定 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 请使用以下任一方式安装 boto3:
pip install boto3 numpy
在终端中或install_boto()
. 如果这不起作用,请设置您正在使用的 pythonreticulate::use_python()
或reticulate::use_condaenv()
这没有意义,因为我已经安装了 boto3,甚至在终端中它也显示
已满足要求:./Library/r-miniconda/envs/r-reticulate/lib/python3.6/site-packages 中的 boto3 (1.14.28)
我感觉我在这里兜圈子。
慕勒3428872
相关分类