如何解决在 R 包开发中处理 python 模块
我想创建一个 R 包,该包具有来自不同 python 模块的功能。 reticulate 包提供了多种函数来从 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 包,这些模块应该会自动安装。
我的做法有意义吗?或者这只是不礼貌的行为?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。