such - could not open requirements file errno 2 no existe el fichero o el directorio requirements txt
¿Hay algo como Requirements.txt para R? (1)
De acuerdo con los comentarios, es posible que desee ver cómo crear un paquete e incluir los requisitos en el archivo de DESCRIPCIÓN. Si está hablando de poner un script .R "en producción", puede poner una función al principio para asegurarse de que los paquetes necesarios estén instalados. Aquí hay algo parecido a lo que tengo en mi propio paquete, y puedo llamar a pkgLoad( <list of packages> )
al comienzo de cualquier script para asegurarme de que los paquetes estén instalados y cargados. pkgLoad()
una lista de mis paquetes favoritos, de modo que una llamada de pkgLoad()
instala y carga a todos mis sospechosos habituales:
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 )
)
}
}
Note que he incorporado mi espejo CRAN favorito en la función, así que asegúrese de editarlo para sus propias necesidades.
¿Existe una funcionalidad como requirements.txt
en Python, donde puede almacenar una lista de paquetes utilizados en un archivo, y siempre que otras personas deseen ejecutar sus programas y necesiten instalar las dependencias, solo pueden cumplir los pip install -r requirements.txt
Creo que esto ayuda mucho cuando se implementa el script R en producción. Si no existe tal funcionalidad, ¿cómo puedo replicarla?