# Installing Rucio Clients

## Prerequisites

Rucio clients runs on Python 2.6, 2.7.

Platforms: Rucio should run on any Unix-like platform.

## Python Dependencies

Rucio clients need the following python modules:

    setuptools>=36.8.0                                # Python packaging utilities (36.8.0 last py2.6 compatible version)
    argparse>=1.4.0; python_version == '2.6'          # Command-line parsing library
    argcomplete>=1.9.4                                # Bash tab completion for argparse
    requests>=2.6.0                                   # Python HTTP for Humans.
    urllib3>=1.23                                     # HTTP library with thread-safe connection pooling, file post, etc.
    dogpile.cache>=0.6.5                              # Caching API plugins
    nose>=1.3.7                                       # For rucio test-server
    boto>=2.48.0; python_version >= '2.7'             # S3 boto protocol
    tabulate>=0.8.2                                   # Pretty-print tabular data
    progressbar2>=3.37.1                              # Text progress bar
    bz2file>=0.98                                     # Read and write bzip2-compressed files.
    python-magic>=0.4.15                              # File type identification using libmagic
    futures>=3.2.0; python_version < '3.0'            # Clean single-source support for Python 3 and 2
    six>=1.11.0                                       # Python 2 and 3 compatibility utilities

All Dependencies are automatically installed with pip.

## Install via pip

When `pip` is available, the distribution can be downloaded from the Rucio PyPI server and installed in one step:

    $> pip install rucio-clients

This command will download the latest version of Rucio and install it to your system.

## Upgrade via pip

To upgrade via pip:

    $> pip install --upgrade rucio-clients

## Install via pip and virtualenv

To install the Rucio clients in an isolated `virtualenv` environment:

    $> wget --no-check-certificate https://raw.github.com/pypa/virtualenv/master/virtualenv.py
    $> python virtualenv.py rucio
    $> source rucio/bin/activate.csh
    $> pip install rucio-clients
    $> export RUCIO_HOME=`pwd`/rucio/

## Installing using setup.py

Otherwise, you can install from the distribution using the `setup.py` script:

    $> python setup.py install

## Installing with docker