Skip to main content
Help us improve Python packaging – donate today!

Install and manage R packages in a python virtualenv

Project Description

Install and manage R packages in a python virtualenv.


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.


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 rvenv

Or to install from the GitHub repository:

% pip install 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: ./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

positional arguments:
  packages              one or more package names

optional arguments:
  -h, --help            show this help message and exit
                        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)" []
  -v, --verbose         be verbose when installing packages

Release history Release notifications

This version
History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
rvenv-0.2-py2-none-any.whl (3.9 kB) Copy SHA256 hash SHA256 Wheel py2 Nov 16, 2015
rvenv-0.2.tar.gz (3.4 kB) Copy SHA256 hash SHA256 Source None Nov 16, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page