3. Installation

Note

Certain distributions link python to python2 and others link it to python3. For disambiguation python, pip, and virtualenv shall mean their python v3 versions here, i.e. python3, pip3, virtualenv3.

Warning

You will need to have git, and python installed for any of the below methods to work. You will also need MongoDB if you intend to create a local database, (more than likely), but Nemesyst will still connect to already running databases without it if you happen to have one already.

This section will outline various methods for installation of Nemesyst, and its dependencies. Not all methods are equal there are slight variations between them, which are outlined in the respective sections below, along with instructions for each method:

3.1. Files-only/ development

This method of files-only installation provides the user with all the additional utility files, and examples needed during development. This includes the files necessary for the Full MNIST Example, and is advised when first starting to use Nemesyst so that you can better understand what is going on. In production however you do not need all these additional files so other slimmer/ more streamlined methods of installation are better.

Pros:

  • All the example files for quickly getting to grips with Nemesyst.

  • Easy to understand as the files are not filed away somewhere obscure.

  • Easy to install example dependencies as you can pip install -r requirements.txt or whatever other requirements list we include.

  • Unit tests available.

Cons:

  • You are responsible for ensuring the requirements are met for Nemesyst, such as python, git, and MongoDB.

  • It is less repeatable/ deployable as most steps are manual as opposed to the other available methods of installation.

3.1.1. Getting the files

To retrieve the Nemesyst files you will need git installed. To download the Nemesyst directory in your current working directory you can run:

git clone https://github.com/DreamingRaven/nemesyst

3.1.2. Installing dependancies

To make use of Nemesyst directly now that you have the files you need to have installed:

System dependencies:

  1. python (required): Nemesyst is written in python, you wont get far without it.

  2. git (required): To install, and manage Nemesyst files.

  3. MongoDB (recommended): If you want to be able to create, and destroy a local MongoDB database.

  4. Docker (optional): If you want to manage local containerized MongoDB databases.

Python dependencies:

./nemesyst/requirements.txt
ConfigArgParse>=0.14.0
pymongo>=3.8.0
future>=0.17.1

You can install these quickly using:

Bash shell installing dependancies from file
pip install -r ./nemesyst/requirements.txt

or:

Bash shell installing Nemesyst and dependancies using setup.py
python setup.py install

Optionally if you would like to build the Nemesyst documentation, and/ or use the full testing suite you will require ./nemesyst/docs/requirements.txt:

sphinx>=2.1.2
sphinx-argparse>=0.2.5
sphinx-rtd-theme>=0.4.3
ConfigArgParse>=0.14.0
pymongo>=3.8.0
future>=0.17.1

3.2. Automated

This section discusses the more automated and repeatable installation methods for Nemesyst, but they do not contain all the files needed to learn, and begin developing Nemesyst integrated applications, rather this includes just the bare-bones Nemesyst ready for your deployment.

3.2.1. Generic

3.2.1.1. pip

For now you can use pip via:

pip install git+https://github.com/DreamingRaven/nemesyst.git#branch=master

3.2.1.2. Docker

see Dockerisation for docker instructions.

3.3. Manual

3.3.1. Generic

git clone https://github.com/DreamingRaven/nemesyst
cd nemesyst
python setup.py install

3.3.2. Archlinux

git clone https://github.com/DreamingRaven/nemesyst
cd nemesyst/.arch/
makepkg -si

3.4. Virtual env

To create the python-virtualenv:

vituralenv venv

To then use the newly created virtual environment:

source venv/bin/activate

OR if you are using a terminal like fish:

source venv/bin/activate.fish

To install Nemesyst and all its dependencies into a virtual environment while it is being used (activated):

pip install git+https://github.com/DreamingRaven/nemesyst.git#branch=master

To exit the virtual environment:

deactivate