5

我即将使用 Reticulate 包在 R 中创建一个 python 接口。为了访问 R 中的 python 函数,需要安装相应的 python 包。

我想到了两个问题:

1)如果使用reticulate包,需要安装Anaconda包吗?还是只安装 python 包就足够了?

2) 是否可以在 R 中安装 python 包,类似于 install.packages("r_package")?

有没有人有这个话题的经验?提前致谢!

4

3 回答 3

4

我将在前面的答案中添加一些细微差别。

就像@f0nzie 所说,Anaconda 不是包,而是包管理器。理想情况下,您将使用 Anaconda 创建一个环境来帮助您进行包管理和版本控制。conda 环境的文档在这里

现在,您可以在 R 中将 python 包安装到您的 anaconda 包中。这可以使用reticulate::conda_install(envname, packages). conda_install()可在此处找到文档。

于 2018-12-05T20:10:35.050 回答
4

1) R 包reticulate可以使用默认的 python 或使用Anaconda2or Anaconda3。如果你想让 Anaconda 与 R 一起工作,你必须先安装 Anaconda。安装后,您调用library(reticulate),然后运行py_config()​​or reticulate::py_discover_config(),这将为您提供 Python 安装使用的路径和环境列表。然后,一旦你知道了 Python 路径,你就可以添加这样的一行use_python("/opt/miniconda2/bin/python")library(reticulate)然后你就开始做生意了。

2) 要安装 Python 包以便 R(或网状)可以看到它们,您必须从终端或控制台将它们作为常规 Python 包安装;不是R。例如:conda install numpy安装numpy,或者conda install scipy安装scipy,等等。

我只是在 Docker 容器中做这一切rocker/rstudio。在标准操作系统中应该更容易。

这是分步说明:rstudio reticulate

干杯!

于 2017-09-20T02:14:33.807 回答
1

如果您需要特定版本的 Python 模块,请放在==模块名称之后,例如,以下将使用 pip 安装 3 个模块的特定版本:

reticulate::conda_install(c("PyMuPDF==1.14.20", "PyPDF2==1.26.0", "reportlab==3.5.23"),
                            envname = "myenv", pip = TRUE)
于 2019-08-30T04:08:00.453 回答