MetPX-Sarracenia Installation

Revision Record

version: 2.18.05b4
date:June 2018

Client Installation

The package is built for python version 3.4 or higher. On systems where they are available, debian packages are recommended. These can be obtained from the launchpad repository. If you cannot use debian packages, then consider pip packages avialable from PyPI. In both cases, the other python packages (or dependencies) needed will be installed by the package manager automatically.

Ubuntu/Debian (apt/dpkg)

On Ubuntu 14.04/16.04/17.10/18.04 and derivatives of same:

sudo add-apt-repository ppa:ssc-hpc-chp-spc/metpx
sudo apt-get update
sudo apt-get install python3-metpx-sarracenia  # only supports HTTP/HTTPS
sudo apt-get install python3-paramiko   # adds SFTP support.
sudo apt-get install sarrac # optional C client.

PIP

On windows, or other linux distributions where system packages are not available, the above procedures are not applicable. There are also special cases, such as if using python in virtual env, where it is more practical to install the package using pip (python install package) from http://pypi.python.org/. It is straightforward to do that:

sudo pip install metpx-sarracenia

and to upgrade after the initial installation:

sudo pip uninstall metpx-sarracenia
sudo pip install metpx-sarracenia

NOTE:

On many systems where both pythons 2 and 3 are installed, you may need to specify
pip3 rather than pip.

Windows

Any native python installation will do, but the dependencies in the standard python.org installation require the installation of a C-Compiler as well, so it gets a bit complicated. If you have an existing python installation that works with c-modules within it, then the complete package should install with all features.

If you do not have a python environment handy, then the easiest one to get going with is winpython, which includes many scientifically relevant modules, and will easily install all dependencies for Sarracenia. You can obtain winpython from http://winpython.github.io/ (note: select python version >3 ) Then one can install with pip (as above.)

Packages

Debian packages and python wheels can be downloaded directly from: launchpad

Source

Source code for each module is available https://github.com/MetPX:

git clone https://github.com/MetPX/sarracenia sarracenia
cd sarracenia

Development happens on the master branch. One probably wants real release, so run git tag, and checkout the last one (the latest stable release):

blacklab% git tag

.
.
.
v2.18.04b2
v2.18.04b3
v2.18.04b4
v2.18.04b5
v2.18.05b1
v2.18.05b2
v2.18.05b3
v2.18.05b4

blacklab% git checkout v2.18.05b4
blacklab% python3 setup.py bdist_wheel
blacklab%  pip3 install dist/metpx_sarracenia-2.18.5b4-py3-none-any.whl

Sarrac

The C client is available in prebuilt binaries in the launchpad repositories alongside the python packages:

sudo add-apt-repository ppa:ssc-hpc-chp-spc/metpx
sudo apt-get update
sudo apt-get install sarrac

For any recent ubuntu version. The librabbitmq-0.8.0 has been backported in the PPA. sarrac's dependency. For other architectures or distributions, one can build from source:

git clone https://github.com/MetPX/sarrac

on any linux system, as long as librabbitmq dependency is satisfied. Note that the package does not build or run on non-linux systems.

Building on Old Systems

Sarracenia requires python3, and python themselves do not support python3 older than 3.4. Some older Linux distributions either have no python3 or have such an old version that it is difficult to install the necessary dependencies.

On Ubuntu 12.04:

apt-get install python3-dev
apt-get install python3-setuptools
easy_install3 pip==1.5.6
pip3 install paramiko==1.16.0
pip3 install metpx_sarracenia==<latest version>

Why the specific versions on older distributions?

pip > 1.5.6 does not support python < 3.2 which is the python in Ubuntu 12.04.

Later versions of paramiko require the cryptography module, which doesn't build on python-3.2, so need to use an older version of paramiko which uses pyCrypto, and that does build on 3.2.

Sarracenia still works python 3.2, but there might be some cosmetic functionality missing. When having trouble installing sarracenia, one should try building the C client (sarrac) as it has fewer dependencies and should be easier to build on older systems.