Python -> R bridge

rpy2 is an interface to R running embedded in a Python process.


pip should work out of the box:

pip install rpy2

The package has optional depencies providing
specific functionalities not otherwise required to use the rest of rpy2.

For example, to be able to run the unit tests:

pip install rpy2[test]

To install all dependencies, use:

pip install rpy2[all]

The package is known to compile on Linux, MacOSX
(provided that developper tools are installed, and you are ready
figure out how by yourself). The situation is currently a little
more complicated on Windows. Check the issue tracker.

In case you find yourself with this source without any idea
of what it takes to compile anything on your platform, try first

python install

Non system-R installations

Whenever R is in not installed in a system location, the system might not
know where to find the R shared library.

If R is in the PATH, that is entering R on the command line successfully starts
an R terminal, but rpy2 does not work because of missing C libraries, try the following
before starting Python:

export LD_LIBRARY_PATH="$(python -m rpy2.situation LD_LIBRARY_PATH)":${LD_LIBRARY_PATH}


To try rpy2 in an ipython console:

docker run -it --rm -p 8888:8888 rpy2/jupyter-ubuntu ipython

To run a jupypter notebook on port 8888:

docker run --rm -p 8888:8888 rpy2/jupyter-ubuntu

More information about Docker images can be found in the
docker image repository.

Images with jupyter are can be used with


Documentation is available either in the source tree (doc/),
or online.


rpy2 uses pytest, with the plugin pytest-cov for code coverage. To
test the package from the source tree, either to check and installation
on your system or before submitting a pull request, do:

pytest tests/

For code coverage, do:

pytest --cov=rpy2.rinterface_lib \
       --cov=rpy2.rinterface \
       --cov=rpy2.ipython \
       --cov=rpy2.robject \

For more options, such as how to run specify tests, please refer to the pytest