After you upgrade your python/distribution (specifically this happened to me after upgrading from Ubuntu 11.10 to 12.04), your existing
virtualenv environments may stop working. This manifests itself by reporting that some modules are missing. For example when I tried to open a Django shell, it complained that
urandom was missing from the
os module. I guess almost any module will be broken.
Apparently, the solution is dead simple. Just re-create the
virtualenv --system-site-packages /PATH/TO/EXISTING/ENVIRONMENT
(depending on how you created it in the same place). All the modules you’ve already installed should keep working as before (at least it was that way for me).