Atualizado novamente:
O método a seguir pode não funcionar em versões mais recentes do virtualenv. Antes de tentar fazer modificações no antigo virtualenv, salve as dependências em um arquivo de requisitos (pip freeze > requirements.txt) e faça um backup dele em outro lugar. Se algo der errado, você ainda poderá criar um novo virtualenv e instalar as antigas dependências nele (pip install -r requirements.txt).
Atualizado: alterei a resposta cinco meses depois de responder originalmente. O método a seguir é mais conveniente e robusto.
Efeito colateral: também corrige aSymbol not found: _SSLv2_methodexceção quando você fazimport sslem um ambiente virtual após atualizar o Python para a v2.7.8.
Aviso: Atualmente, este é apenas 2.7.x Python .
Se você estiver usando o Homebrew Python no OS X, primeiro faça o deactivatevirtualenv e atualize o Python:
brew update && brew upgrade python
Execute os seguintes comandos ( <EXISTING_ENV_PATH>é o caminho do seu ambiente virtual):
cd <EXISTING_ENV_PATH>
rm .Python
rm bin/pip{,2,2.7}
rm bin/python{,2,2.7}
rm -r include/python2.7
rm lib/python2.7/*
rm -r lib/python2.7/distutils
rm lib/python2.7/site-packages/easy_install.*
rm -r lib/python2.7/site-packages/pip
rm -r lib/python2.7/site-packages/pip-*.dist-info
rm -r lib/python2.7/site-packages/setuptools
rm -r lib/python2.7/site-packages/setuptools-*.dist-info
Por fim, recrie seu ambiente virtual:
virtualenv <EXISTING_ENV_PATH>
Ao fazer isso, os arquivos principais antigos do Python e as bibliotecas padrão (mais setuptoolse pip) são removidos, enquanto as bibliotecas personalizadas instaladas no site-packagessão preservadas e funcionando, assim que estiverem no Python puro. Bibliotecas binárias podem ou não precisar ser reinstaladas para funcionar corretamente.
Isso funcionou para mim em 5 ambientes virtuais com o Django instalado.
BTW, se ./manage.py compilemessagesnão estiver funcionando depois, tente o seguinte:
brew install gettext && brew link gettext --force