reposted from http://code.google.com/p/django-hotclub/wiki/MovingToDistutils
Pinax is changing the way that external dependencies are brought in during development on trunk. Note that this document is only talking about changes in how things work and will work on trunk, NOT necessarily how they will work with a released version of Pinax.
Until recently, Pinax had two choices for a given external dependency:
However, there are problems with this approach:
To solve these problems and more, Pinax is switching to a distutils-based approach. This means:
In order to develop from the Pinax trunk, you will need to use pip. Because some external dependencies are retrieved via git and bzr you will also need those if using Pinax trunk.
Although we will eventually have per-project requirements files, there are currently two requirements files that describe to pip what dependencies to bring in and how:
The former is actually a requirement of the latter so you can bring in all external dependencies with:
pip install -r pinax/requirements/external_apps.txt
We strongly recommend the use of virtualenv in conjunction with pip to allow isolated environments to be set up without Pinax having to hack PYTHONPATH.