We use Django heavily and we have all the requirements in requirements.txt and we do pip install on it.
Lot of times, some requirements are not installed properly and we have to do pip install when we see an error message for particular package.<p>The issue we are facing is whenever we run `python manage.py migrate` after cloning the repo/pulling the repo, it takes around 30-50 mins.
30-50m for ./manage.py migrate seems way too long.<p>Are you collapsing your migrations?<p>Unless you need to maintain multiple production environments with different versions of your software you should be doing so with some regularity.
Vagrant and Ansible to provision a vm with nginx python django supervisord.<p>Then if you want to load the database we have a shell script wrapper that can do a few things.<p>Load an sql from an s3 private bucket to refresh your local database, so even if you crash anything you can always fix things with a quick shell command. We also tie things into newrelic and sentry to help us debug code locally before it even gets to sandbox or prod.