virtualenvwrapper is a set of extensions to virtualenv for creating and deleting virtual environments and otherwise managing your development workflow, making it easier to work on more than one project at a time without introducing conflicts in their dependencies.
I’m pleased to announce the release of
virtualenvwrapper. This new
version uses a significantly rewritten version of the hook/callback
subsystem to make it easier to share plugins for enhancing developer
workflow. For example, released at the same time is
virtualenvwrapper-emacs-desktop, a plugin to switch emacs
project files when you switch virtualenvs.
I also took this opportunity to change the name of the shell script
containing most of the virtualenvwrapper functionality from
virtualenvwrapper.sh. This reflects
the fact that several shells other than bash are supported (
zsh are all reported to work). You’ll want to
update your shell startup file after upgrading to 2.0.
The work to create the plugin system was triggered by a couple of recent feature requests for environment templates and for a new command to create a sub-shell instead of simply changing the settings of the current shell. The new, more powerful, plugin capabilities will make it easier to develop these and similar features.
I’m looking forward to seeing what the community comes up with. I especially want someone to write a plugin to start a copy of a development server for a Django project if one is found in a virtualenv. You’ll get bonus points if it opens the home page of the server in a web browser.
Updated: Existing user scripts should continue to work as-written. Any failures are probably a bug, so please report them on the bitbucket tracker. Documentation for the new plugin system is available in the virtualenvwrapper docs here.