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_method
exceção quando você fazimport ssl
em 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 deactivate
virtualenv 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 setuptools
e pip
) são removidos, enquanto as bibliotecas personalizadas instaladas no site-packages
sã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 compilemessages
não estiver funcionando depois, tente o seguinte:
brew install gettext && brew link gettext --force