Для развертывания своих web-проектов на сервер используют
virtualenv и pip. Зависимости обычно перечислены в файлике в формате pip.
при этом разворачиваие проекта сводится к набору команд:
svn\git clone to <proj_dir>
virtualenv <env_dir>
source <env_dir>/bin/activate
pip install -r <proj_dir>/requrements.pip
Код, запускающий проект на боевом сервере должен при этом учитывать наличие виртуального окружения. Если использовать апач и wsgi —
тут описано, как должен выглядеть скрипт
Зачем все эти пляски с virtualenv?
Это все нужно, чтобы на одном и том же сервере спокойно работали несколько проектов с различными версиями зависимых программ. (например у каждого проекта может быть своя версия django)