是否有类似requirements.txt
Python 的功能,您可以在其中将使用的包列表存储到文件中,并且每当其他人想要运行您的程序并需要安装依赖项时,他们只需pip install -r requirements.txt
.
我认为,这在将 R 脚本部署到生产环境时很有帮助。如果没有这样的功能,我该如何复制它?
是否有类似requirements.txt
Python 的功能,您可以在其中将使用的包列表存储到文件中,并且每当其他人想要运行您的程序并需要安装依赖项时,他们只需pip install -r requirements.txt
.
我认为,这在将 R 脚本部署到生产环境时很有帮助。如果没有这样的功能,我该如何复制它?
根据评论,您可能希望查看构建包,并将需求包含在说明文件中。如果您正在谈论将 .R 脚本“投入生产”,您可以在开始时放置一个函数以确保安装所需的包。这是我自己的包中的一些内容,我可以pkgLoad( <list of packages> )
在任何脚本的开头调用以确保安装和加载包。我包括了我最喜欢的软件包的列表,以便调用pkgLoad()
安装并加载我所有常见的嫌疑人:
pkgLoad <- function( packages = "favourites" ) {
if( length( packages ) == 1L && packages == "favourites" ) {
packages <- c( "data.table", "chron", "plyr", "dplyr", "shiny",
"shinyjs", "parallel", "devtools", "doMC", "utils",
"stats", "microbenchmark", "ggplot2", "readxl",
"feather", "googlesheets", "readr", "DT", "knitr",
"rmarkdown", "Rcpp"
)
}
packagecheck <- match( packages, utils::installed.packages()[,1] )
packagestoinstall <- packages[ is.na( packagecheck ) ]
if( length( packagestoinstall ) > 0L ) {
utils::install.packages( packagestoinstall,
repos = "http://cran.csiro.au"
)
} else {
print( "All requested packages already installed" )
}
for( package in packages ) {
suppressPackageStartupMessages(
library( package, character.only = TRUE, quietly = TRUE )
)
}
}
注意我已经在函数中构建了我最喜欢的 CRAN 镜像,因此请确保根据自己的需要对其进行编辑。