Package: renv
renv (beta)Creating virtual environments for R. (currently a Linux-only implementation)DescriptionOne of the problems with using R for data analysis can be dependency issues especially for
scientists who use multiple versions of R or R packages and have a large number of
projects that they are developing with R. Dependency issues are especially prevalent among those individuals or groups
that are developing R packages.renvis aPython stylevirtual environment manager for creating virtual environments for R.InstallationThis package is being managed withpoetryand is also available on PyPi.pipinstallrenvUsageRenv is currently in beta and is only supported in Linux so there may be some issues if your R has been
installed in a way other than the default. There are probably plenty of
unforeseen bugs, misspellings, and general use cases where the code could be
more efficient. Please submit anissueorPR. We'd love to get
community feedback.The default .Rprofile also prompts you to install some commonly used
packages. The functionality of this is useful, but will change for the
actual release of this package.CommandsOnce you have renv installed, you need to initialize renv to set up the.beRi/.renvfolder in your$HOMEdirectory:renvinitNow, you can easily create an environment:renv-emyenv-r/path/to/R/folder# Find your current R folder is using `which R` on Linux.An environment folder namedmyenvwill be created in$HOME/.beRi/.renv.To activate the environment:cd $HOME/.beRi/.renv/myenv/bin
. ./activateTo deactivate the R environment:deactivateUse--helpto see the other command-line options.user@host:~$renv--helpUsage: renv [OPTIONS] COMMAND [ARGS]...Options:-r, --r_home TEXT               Provide the root of the directory tree whereR is installed ($R_HOME).  This would be R'sinstallation directory when using./configure --prefix=<r_home>.  [required]-e, --env_name TEXT             Name of the environment.  [required]-p, --path TEXT                 An absolute installation path for renv.[default: ~/.beRi]-n, --name TEXT                 A directory name for renv.  [default: .renv]-b, --bindir TEXT               Provide the bin directory if R was installedwhen using ./configure --bindir=<binpath>.-l, --libdir TEXT               Provide the lib directory if R was installedwhen using ./configure --libdir=<libpath>.-i, --includedir TEXT           Provide the include directory if R wasinstalled when using ./configure--includedir=<includepath>.-rp, --recommended_packages BOOLEANThis determines wheather or not therecommended packages are installed in theRenvironment along with the base packages.In most cases it's best to keep thedefaultvalue.--clear BOOLEAN                 Deletes the contents of the environmentdirectory if it already exists, beforeenvironment creation.-u, --upgrade BOOLEAN           Upgrades the environment directory to usethis version of R.-p, --prompt TEXT               Provide an alternative prompt prefix forthis environment.-v, --verbose                   Show verbose cli output.--help                          Show this message and exit.Commands:init  Initialize renv using the <path>/<name>.Show this message and exit.Creating an R Environmentuser@host:~$renv-e~/projects/rna-brain-r/usr/local/apps/R/R-3.4.4/user@host:~$source~/projects/rna-brain/bin/activate(rna-brain)user@host:~$RR version x.y.z (YYY-MM-DD) -- "Dist"Copyright (C) YYY The R Foundation for Statistical ComputingPlatform: Renv is working for some linux distrubutionsR is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under certain conditions.Type 'license()' or 'licence()' for distribution details.R is a collaborative project with many contributors.Type 'contributors()' for more information and'citation()' on how to cite R or R packages in publications.Type 'demo()' for some demos, 'help()' for on-line help, or'help.start()' for an HTML browser interface to help.Type 'q()' to quit R...................Attempting to Load Bioconductor...................Warning: Prompting for Bioconductor Installation...Do you want to install Bioconductor??? [Y/N]n..................Attempting to Load Devtools...................Warning: Prompting for Devtools Installation...Do you want to install Devtools??? [Y/N]n..................Attempting to Load Tidyverse...................Warning: Prompting for Tidyverse Installation...Do you want to install Tidyverse??? [Y/N]nWarning messages:1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :there is no package called ‘BiocInstaller’2: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :there is no package called ‘devtools’3: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :there is no package called ‘tidyverse’>FeaturesCreates a default R virtual environment using default config settings
or a YAML file in the pre-existing environment directory.Manages the user's and the environment's .Rprofile and .Renviron
files.Below is an example of the YAML config file (there may be mistakes or
missing keys). Try to use absolute paths.R_ABS_HOME:"/home/grabear/R-installs/R-3.4.3/lib64/R"R_ENV_HOME:"/home/grabear/rna-brain"R_LIBS_USER:"/home/grabear/rna-brain/lib64/R/library"R_INCLUDE_DIR:"/home/grabear/rna-brain/lib64/R/include"R_VERSION:"3.4.3"# LIST OF DEFAULT variables for .RprofileCRAN_MIRROR:"https://cran.rstudio.com/"CRANEXTRA_MIRROR:"https://mirrors.nics.utk.edu/cran/"# Determine how to format this for .RprofileSTANDARD_PKG_LIST:BiocInstaller:"Bioconductor"devtools:"Devtools"tidyverse:"Tidyverse"REPRODUCIBLE_WORKFLOW_PKG_LIST:packrat:"Packrat"miniCRAN:"MiniCRAN"Questions ???Why renv?Tools for creating reproducible workflows with R have been needed for a
long time. Renv gets its inspiration frompackrat, which allows you to
create isolated package libraries, and python'svenvmodule, which
creates an environment with its own package libraryANDpython
binaries. Renv, therefore, helps user better manage a system with
multiple installations of R by creating a virtual environments for
specific versions of R that have their own R binaries (R and Rscript) as
well as their own isolated package libraries.Why click and poetry?Click is used over argparse for speed of development. It requires an
extra dependency, but it's easy to use and what we know. Poetry is used
for similar reasons. It's a developing project, so we may have regrets
later down the road, but for now it's proven to be a very useful tool.Why not develop everything in R?Again, we are going with what we know. We aren't unfamiliar with
programming or making packages with R, but we are way better at
developing and maintaining python code. Virtual environments are already
widely used for the python language, which means we don't have to
recreate the.whl.MaintainersRob Gilmore |@grabear|✉Santina Lin |@santina|✉Shaurita Hutchins |@sdhutchins|✉