Development Environment

Base System

Development for Tailbone in particular is assumed to occur on a Linux machine. This is because it’s assumed that the web app would run on Linux. It should be possible (presumably) to do either on Windows or Mac but that is not officially supported.

Furthermore it is assumed the Linux flavor in use is either Debian or Ubuntu, or a similar alternative. Presumably any Linux would work although some details may differ from what’s shown here.

Prerequisites

Python

The only supported Python is 2.7. Of course that should already be present on Linux.

It usually is required at some point to compile C code for certain Python extension modules. In practice this means you probably want the Python header files as well:

sudo apt-get install python-dev

pip

The only supported Python package manager is pip. This can be installed a few ways, one of which is:

sudo apt-get install python-pip

virtualenvwrapper

While not technically required, it is recommended to use virtualenvwrapper as well. There is more than one way to set this up, e.g.:

sudo apt-get install python-virtualenvwrapper

The main variable as concerns these docs, is where your virtual environment(s) will live. If you install virtualenvwrapper via the above command, then most likely your $WORKON_HOME environment variable will be set to ~/.virtualenvs - however these docs will assume /srv/envs instead. Please adjust any commands as needed.

PostgreSQL

The other primary requirement is PostgreSQL. Technically that may be installed on a separate machine, which allows connection from the development machine. But of course it will usually just be installed on the dev machine:

sudo apt-get install postgresql

Regardless of where your PG server lives, you will probably need some extras in order to compile extensions for the psycopg2 package:

sudo apt-get install libpq-dev