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