2024-10-02 08:23:31 发布
网友
我将要在R中创建一个python接口,其中有一个包retricate。为了访问R中的python函数,需要安装相应的python包。在
我想到了两个问题:
1)如果使用网状包装,是否需要安装Python包装?还是只安装python包就足够了?在
2)是否可以在R中安装python包,类似于安装.packages(“r_包”)?在
有人对这个话题有经验吗?提前谢谢!在
1)R包reticulate可以与默认python或Anaconda2或{}一起工作。如果你想让水蟒和R一起工作,你必须先安装水蟒。安装后,调用library(reticulate),并运行py_config()或{},这将为您提供Python安装所使用的路径和环境列表。然后,一旦知道了Python路径,就在library(reticulate)后面添加一行这样的use_python("/opt/miniconda2/bin/python"),您就可以开始工作了。在
reticulate
Anaconda2
library(reticulate)
py_config()
use_python("/opt/miniconda2/bin/python")
2)要安装Python包以便R(或netricate)可以看到它们,您必须从终端或控制台将它们作为常规Python包安装;而不是R。例如:conda install numpy安装numpy,或{}安装scipy,依此类推。在
conda install numpy
我只是在Docker容器rocker/rstudio中完成所有这些。在标准操作系统中应该更容易。在
rocker/rstudio
以下是分步说明:rstudio reticulate
干杯!在
我要在前面的答案上加一点细微差别。在
就像@f0nzie说的,Anaconda不是一个包,而是一个包管理器。理想情况下,您将使用Anaconda创建一个环境来帮助您进行包管理和版本控制。conda环境的文档是here。在
现在,您可以将python包安装到R中的anaconda包中。conda_install()的文档可以在here找到。在
conda_install()
如果您需要特定版本的Python模块,那么在模块名后面加上==,例如,下面将使用pip安装3个模块的特定版本:
==
reticulate::conda_install(c("PyMuPDF==1.14.20", "PyPDF2==1.26.0", "reportlab==3.5.23"), envname = "myenv", pip = TRUE)
1)R包}一起工作。如果你想让水蟒和R一起工作,你必须先安装水蟒。安装后,调用},这将为您提供Python安装所使用的路径和环境列表。然后,一旦知道了Python路径,就在
reticulate
可以与默认python或Anaconda2
或{library(reticulate)
,并运行py_config()
或{library(reticulate)
后面添加一行这样的use_python("/opt/miniconda2/bin/python")
,您就可以开始工作了。在2)要安装Python包以便R(或netricate)可以看到它们,您必须从终端或控制台将它们作为常规Python包安装;而不是R。例如:}安装scipy,依此类推。在
conda install numpy
安装numpy,或{我只是在Docker容器
rocker/rstudio
中完成所有这些。在标准操作系统中应该更容易。在以下是分步说明:rstudio reticulate
干杯!在
我要在前面的答案上加一点细微差别。在
就像@f0nzie说的,Anaconda不是一个包,而是一个包管理器。理想情况下,您将使用Anaconda创建一个环境来帮助您进行包管理和版本控制。conda环境的文档是here。在
现在,您可以将python包安装到R中的anaconda包中。
conda_install()
的文档可以在here找到。在如果您需要特定版本的Python模块,那么在模块名后面加上
==
,例如,下面将使用pip安装3个模块的特定版本:相关问题 更多 >
编程相关推荐