Activate a virtualenv via fabric as deploy user

As an update to bitprophet’s forecast: With Fabric 1.0 you can make use of prefix() and your own context managers. from __future__ import with_statement from fabric.api import * from contextlib import contextmanager as _contextmanager env.hosts = [‘servername’] env.user=”deploy” env.keyfile = [‘$HOME/.ssh/deploy_rsa’] env.directory = ‘/path/to/virtualenvs/project’ env.activate=”source /path/to/virtualenvs/project/bin/activate” @_contextmanager def virtualenv(): with cd(env.directory): with prefix(env.activate): yield def … Read more