我想创建一个R包,其中包含来自不同python模块的功能。 网状包提供了各种函数来从R中加载和执行python模块
对于我的包的部署,我想知道在安装我的R包时,处理python模块安装的最有效方法是什么
因为我的python模块需要python>;=3.7,我计划在R包中包含一个带有python 3.7的虚拟环境。安装后,应下载必要的python模块并将其导入虚拟环境
我无法在已包含必要模块的环境中部署我的R包,因为此类环境的文件大小将超过>;1.5 GB。这看起来有点大
有什么方便的方法处理这个问题吗
我在想这样的事情:
module <- NULL
.onload <- function(libname, pkgname){
reticulate::use_virtuaenv("./path/to/my/environment/contained/in/the/package")
if (!reticulate::py_module_available(python_module)){
reticulate::py_install("module_name")
}
module <<- reticulate::import("module_name")
}
在网状包(https://rstudio.github.io/reticulate/articles/package.html)的文档中,他们建议提供包装函数,以便用户可以定义要使用的虚拟环境/python,并且用户可以手动下载必要的模块。但这对我来说似乎有点不方便,因为在我看来,一旦安装了R包,这些模块就应该自动安装
我的方法有意义吗?还是这只是一种不礼貌的礼节
目前没有回答
相关问题 更多 >
编程相关推荐