You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 07:06:04