你能通过R-Reticulate安装Python包吗?

5

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

我有两个问题:

1)如果使用reticulate包,是否需要安装Anaconda包?还是仅安装Python包就足够了?

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

有没有人在这个主题上有经验?先谢谢了!


  1. "Anaconda" 不是一个软件包,而是一组软件包和其他内容的捆绑包。它们可能存在于任何给定的 Python 安装中,也可能不存在。
  2. 你是在问如何安装 Python 软件包吗?比如使用 pip 命令?
- Spacedman
  1. 我想知道是否可以安装单个软件包,例如XLWings,并通过Reticulate在R中使用它,而无需在计算机上安装Anaconda。
  2. 在R中安装软件包只需要“install.packages(“r-package”)”。在我的情况下,我想安装xlwings,但不是通过pip install xlwings,而是直接在R中安装。这可能吗?
- Carmen
如果你在调用R的Python中有pip模块,你可以使用它来安装Python模块。 - Spacedman
3个回答

4
我会对之前的答案进行一些微调。正如@f0nzie所说,Anaconda不是一个软件包,而是一个软件包管理器。理想情况下,您应该使用Anaconda创建一个环境来协助您进行软件包管理和版本控制。有关conda环境的文档可以在这里找到。
现在,在R中可以通过reticulate::conda_install(envname, packages)向Anaconda软件包安装Python软件包。有关conda_install()的文档可以在这里找到。

4

1) R包reticulate可以与默认的Python或Anaconda2Anaconda3一起使用。如果您想让Anaconda与R一起工作,您需要先安装Anaconda。安装完成后,您调用library(reticulate)并运行py_config()reticulate::py_discover_config(),这将给出Python安装所使用的路径和环境列表。然后,一旦您知道Python路径,您在library(reticulate)之后添加像这样的一行: use_python("/opt/miniconda2/bin/python"),就可以开始工作了。

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

我只是在Docker容器rocker/rstudio中进行所有操作。在标准操作系统中应该更容易。

以下是逐步说明:rstudio reticulate

干杯!


1
如果您需要特定版本的Python模块,那么请在模块名称后加上 ==,例如,以下命令将使用pip安装3个特定版本的模块:
reticulate::conda_install(c("PyMuPDF==1.14.20", "PyPDF2==1.26.0", "reportlab==3.5.23"),
                            envname = "myenv", pip = TRUE)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接