Skip to main content

Install and manage R packages in a python virtualenv

Project description

Install and manage R packages in a python virtualenv.

Why?

I need someplace to put project-specific R packages. The python virtualenv I inevitably have installed in any given project/analysis/pipeline seems as good a place as any.

Installation

Install to an active virtualenv using pip (or simply copy rvenv to $VIRTUAL_ENV/bin):

% virtualenv r-env
% source r-env/bin/activate
% pip install git+https://github.com/nhoffman/rvenv.git

You can use the rvenv script from the command line to install packages to $VIRTUAL_ENV/lib/R.%v-library:

% rvenv dplyr

Including the following lines in an R script will set the library path to use locally-installed packages:

#!/usr/bin/env Rscript
if(Sys.getenv("VIRTUAL_ENV") == ""){ stop("An active virtualenv is required") }
source(file.path(Sys.getenv('VIRTUAL_ENV'), 'bin', 'rvenv'))

Loading rvenv as above prepends $VIRTUAL_ENV/lib/R.%v-library to the library search path. See example script script.R

To start an interactive R session with the library path defined:

% eval $(rvenv -e)
% R

And to define the library path within an already running R session:

> Sys.setenv(VIRTUAL_ENV='some/path/to/virtualenv')
> source(file.path(Sys.getenv("VIRTUAL_ENV"), "bin", "rvenv"))

usage

usage: ./rvenv [-h] [-r REQUIREMENTS] [--rm] [-U] [-l] [-e] [-R REPOS] [-v]
               [packages [packages ...]]

Install R packages to a python virtualenv

Include the following in an R script to add "$VIRTUAL_ENV/lib/R.%v-library"
to the library search path:

  #!/usr/bin/env Rscript
  if(Sys.getenv("VIRTUAL_ENV") == ""){ stop("An active virtualenv is required") }
  source(file.path(Sys.getenv("VIRTUAL_ENV"), "bin", "rvenv"))

Also see https://github.com/nhoffman/rvenv

positional arguments:
  packages              one or more package names

optional arguments:
  -h, --help            show this help message and exit
  -r REQUIREMENTS, --requirements REQUIREMENTS
                        a file listing packages
  --rm                  remove listed packages
  -U, --update          update existing packages
  -l, --list            list packages installed locally
  -e, --environ         print shell command to set R_LIBS
  -R REPOS, --repos REPOS
                        value for "install.packages(repos)" [http://cran.fhcrc.org/]
  -v, --verbose         be verbose when installing packages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rvenv-0.1.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

rvenv-0.1-py2-none-any.whl (3.9 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page