# Installing Dependencies

## R

PressPurt depends on R >= 3.1.0. To check your R version run version from the R console.

This package also depends on the following R libraries:

• data.table
• ggplot2
• gridExtra
• reticulate >= 1.11

If not already installed, these packages will be installed upon the installation of PressPurt.

## Python

This package is dependent on python and uses the R package reticulate under the hood to use python. Thus python and the dependent packages must be installed.

There are two suggested approaches:

• Virtual environments which supports Linux/Mac OS (recommended)
• Conda (Anaconda/miniconda) which supports Linux/Mac/Windows

It is also possible to set a specific version of python with reticulate::use_python("/path/to/python") before you run any of the PressPurt commands but it is not recommended. You’ll also have to ensure that the dependent python packages are installed. For more information on using reticulate directly: see the reticulate docs.

### Virtualenv

#### Install virtual environment

If needed, install virtualenv with pip.

##### Command-line
• Install, test and (optionally) create a new virtual environment from the command line
# install virtualenv with pip
pip install virtualenv
virtualenv --version
# create a virtualenv
virtualenv venv

#### Installing python dependencies

##### From R

The create_virtual_env function lets one create a virtual environment to use. If you want to make a new virtual environment, you’ll need to specify which python version to use in addition to the virtual environment name.

You may check which version(s) of python you have in a fresh R session with find_python(). You should use the sample one you used to install virtualenv.

create_virtual_env(version = "/usr/bin/python3",
virtualenv = "PressPurtEnv",
verbose = TRUE)

Next you’ll need to install the python dependencies in your virtual environment. This will install the following into your PressPurtEnv virtual env:

• numpy
• scipy
• matplotlib
• sympy
• pathos
• pandas
py_depend(virtualenv = "PressPurtEnv")

If you want to use the PressPurtEnv environment in a new R session you can access it via:

set_python_virtual(virtualenv = "PressPurtEnv")

Now that you have created the virtual environment and installed dependencies, you can use the new env in R! Run:

# load the library
library(PressPurt)
# You should see "PressPurtEnv" listed as a conda env
find_python()
set_python_virtual(virtualenv = "PressPurtEnv")

### Conda

#### Install Anaconda or Miniconda

Conda is a package and environment manager that is open source. The main difference between Anaconda and Miniconda is that Anaconda comes with a bundle of pre-installed packages so it takes longer to download and install. Both Miniconda and Anaconda come with python but you can specify a specific version of python later as well.

This document will show you how to install Miniconda via the command-line. For more information on installation and how to install it graphically (no command-line) see the conda docs

##### Linux
2. In a terminal window run: bash Miniconda3-latest-Linux-x86_64.sh
3. Follow the prompts - accepting defaults should be fine.
4. Close your Terminal window and re-open a new one.
5. Test your installation by running: conda list
• This should result in a list of installed packages.
##### MacOS
2. In a terminal window run: bash Miniconda3-latest-MacOSX-x86_64.sh
3. Follow the prompts - accepting defaults should be fine.
4. Close your Terminal window and re-open a new one.
5. Test your installation by running: conda list
• This should result in a list of installed packages.
##### Windows
2. Run the .exe file by double clicking.
3. Follow the prompts - accepting defaults should be fine.
4. Test your installation by opening the Anaconda Prompt from the Start menu and running running: conda list
• This should result in a list of installed packages.

#### Installing python dependencies

##### From R

First you’ll need to load PressPurt, check which versions of python are found and if any Conda environments exists.

# load the library
library(PressPurt)
# Find the versions of python, conda environments and virtualenvs available on your machine:
find_python()

This shows you your default Python path, other available python paths, a list of your conda environments and virtual environments.

The create_conda_env function lets one create a new conda environment – you’ll most likely need to specify which python version to use in addition to the conda environment name. This function also sets your conda environment to the newly created one.

You may have python installed under /usr/bin/python3, Anaconda2 and/or Anaconda3, so you may need to specify which python to use.

create_conda_env(condaenv="PressPurtEnv",
version="~/anaconda3/bin/python",
verbose = TRUE)

Next you’ll need to install some additional python dependencies that PressPurt needs into your conda environment. This will install the following into your PressPurtEnv conda env:

• numpy
• scipy
• matplotlib
• sympy
• pathos
• pandas
py_depend(condaenv = "PressPurtEnv")

If the dependencies don’t install correctly see below for instructions on how to install via the command-line.

If you want to use the PressPurtEnv environment in a new R session you can access it via:

set_python_conda(condaenv="PressPurtEnv")
##### Command-line

You can also install your Python dependencies via the command line with conda or with the Anaconda Prompt (Windows).

When you activate conda it starts the “base” environment. You’ll want to create a specific environment to install all of the PressPurt requirements.

# Check that conda is running
conda --version
# List conda envs
conda info --envs
# Create conda environment "PressPurtEnv"
conda create --name PressPurtEnv
# activate PressPurtEnv
source activate PressPurtEnv
# check installed packages
conda list
# install python dependencies
conda install matplotlib numpy pandas scipy sympy
pip install pathos
# Check to make sure they were installed
conda list

Now that you have created the conda environments and installed dependencies, you can use the new environment in R. Run:

# load the library
library(PressPurt)
# You should see "PressPurtEnv" listed as a conda env
find_python()
set_python_conda(condaenv="PressPurtEnv")`