Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The anatomy of a Python web project: development, packaging, deployment

I'm new to Python (from Java+Ant) and was wondering if someone could detail how to best use Fabric+Pip+Virtualenv to set up a Python web application package skeleton.

The end goal is to be able to do any of the following with a single command:

  • Set up a development environment on a fresh dev box (installing all deps)
  • Run all tests
  • Package and deploy to staging
  • Deploy staging to production
  • Other typical dev flow tasks: migrate schema, etc.

I'm using Debian+git+Tornado, but I'd like to keep this OS/SCM/framework agnostic if possible.

I've done some searching but I'm yet to find something definitive that covers this from top to bottom. I would find this very helpful, I imagine there are a few other ex-Java/PHP/whatever guys out there who would too.

Thanks!

like image 978
enterpriserehab Avatar asked May 17 '10 12:05

enterpriserehab


1 Answers

Check out my answer here. It doesn't address all of your questions (mostly the first bullet-point, in fact), but hopefully it gets you started.

like image 134
Marcelo Cantos Avatar answered Sep 23 '22 19:09

Marcelo Cantos