> The trick is to build a debian package (but it can be done using RPMs just as well) with the application and the whole virtualenv inside.

I would love to read an article describing some best practices for doing that. I tried it once and found it extremely difficult, reverting to a git checkout + virtualenv kind of deployment.

Check out git's "make rpm" target.

https://github.com/gitster/git/blob/master/Makefile

Hosting your own apt/yum repo is pretty simple.

Does anyone have an example of a similar "make deb" target they could share?

I've heard of git-dpm and git-buildpackage but haven't used them extensively myself. They're the debian git packaging tools.

http://wiki.debian.org/PackagingWithGit

Have a look at fpm: https://github.com/jordansissel/fpm

More details to come.