在R中,即使安装了Boto3,也没有Boto3连接Athena时出错



我正试图从R连接到Athena。在设置"RAthena"和连接后,我得到了这个错误:

Error: Boto3 is not detected please install boto3 using either: `pip install boto3` in terminal or `install_boto()`.
Alternatively `reticulate::use_python` or `reticulate::use_condaenv` will have to be used if boto3 is in another environment.

因此,通过使用pip install,我在Python 2中和Python 3中都安装了boto3

Requirement already up-to-date: boto3 in ./Library/Python/2.7/lib/python/site-packages (1.12.39)
Requirement already satisfied: boto3 in ./Library/Python/3.7/lib/python/site-packages (1.12.39)

但是在R中,我仍然有同样的错误。然后我尝试在R中使用install_boto()。它告诉我做如下:

Installation complete. Please restart R.

然后我将永远呆在这个Restarting R session...输出中,永远看不到任何成功重启的注释。最后,R仍然不能检测到boto3

听说您的RAthena包有问题,真的很抱歉。你能告诉我你正在运行的软件包的版本吗。

你试过通过reticulate设置你正在使用的python吗?例如:

library(DBI)
# specifying python conda environment
reticulate::use_condaenv("RAthena")
# Or specifying python virtual enviroment
reticulate::use_virtualenv("RAthena")
con <- dbConnect(RAthena::athena())

你能检查一下numpy是否安装了吗?我记得如果numpy是其中的一部分,reticulate可以更好地绑定到python环境。

或者,您可以使用noctuanoctua的工作原理与RAthena完全相同,但它没有使用python的boto3,而是使用R的paws包。

如果你还在挣扎,我可以在Github上提出这个问题。我以为我已经通过将numpy添加到安装函数install_boto中解决了这个问题,但我很高兴重新打开这个问题。

最新更新