【问题标题】:Can you install a Python package via R - Reticulate你能通过 R 安装 Python 包吗?
【发布时间】:2017-11-17 22:39:42
【问题描述】:

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

我想到了两个问题:

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

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

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

【问题讨论】:

  • 1. “Anaconda”不是一个包。它是一捆包裹和其他东西。它们可能存在也可能不存在于任何给定的 python 安装中。 2、你是问如何安装python包吗?比如,使用pip?
  • 1.我想知道是否可以安装单个软件包,例如XLWings,然后通过 Reticulate 在 R 中使用它,而无需在我的计算机上安装 Anaconda 2。在 R 中安装包只需要“install.packages(“r-package”)。在我的情况下,我想安装 xlwings,但不是通过pip install xlwings,但直接在 R 中。这可能吗?
  • 如果你在从 R 调用的 python 中有pip 模块,你可以使用它来安装 python 模块。

标签: python r interface 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)

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      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(或网状)可以看到它们,您必须从终端或控制台将它们作为常规 Python 包安装;不是 R。例如:conda install numpy 安装 numpy,或conda install scipy 安装 scipy,依此类推。

      我只是在 Docker 容器 rocker/rstudio 中完成所有这些工作。在标准操作系统中应该更容易。

      这里是分步说明:rstudio reticulate

      干杯!

      【讨论】:

        猜你喜欢
        • 2018-01-10
        • 2016-12-26
        • 2017-09-03
        • 1970-01-01
        • 2017-09-30
        • 2020-01-11
        • 2017-02-01
        • 2020-11-23
        • 1970-01-01
        相关资源
        最近更新 更多