如何在R中使用roxygen2文档化自定义环境变量以通过CRAN检查
用roxygen2文档化Python模块存储环境的方案
直接在你定义my.env的代码上方添加roxygen2注释即可,完整可通过CRAN检查的代码如下:
#' 存储延迟加载Python模块的内部环境 #' #' 该环境用于隔离存储reticulate导入的Python模块对象,避免污染包的公共命名空间, #' 保证模块在包运行全周期可正常调用。 #' #' @details 环境父级设置为空环境,无多余变量继承。包加载时会通过`.onLoad()`钩子 #' 完成所有Python模块的赋值,所有模块均启用延迟加载,不会在包安装、加载阶段强制 #' 校验Python环境依赖。 #' @keywords internal #' @name my.env NULL my.env <- new.env(parent = emptyenv()) .onLoad <- function(libname, pkgname) { reticulate::configure_environment(pkgname) assign("numpy", reticulate::import("numpy", delay_load = TRUE), my.env) }
关键说明
@name显式指定要文档化的对象名,因为my.env是环境对象而非函数,需要用该标签绑定文档@keywords internal标注该对象为包内部工具,不会出现在包的公共函数索引中,符合CRAN规范- 如果你不想生成对应的帮助文档,可以把
@keywords internal替换为@noRd,即可跳过.Rd文件生成,也能通过CRAN的文档检查 .onLoad是R包标准加载钩子函数,不需要单独编写文档,不会触发CRAN检查报错
写完注释后执行devtools::document()生成对应文档,再运行devtools::check(cran = TRUE)即可验证是否通过检查。
内容的提问来源于stack exchange,提问作者user9006908
相关产品推荐
相关产品推荐

