Solución:
Encontré este fragmento como una solución alternativa. Es una eliminación de bibliotecas más elegante que rehacer el virtualenv:
pip freeze | xargs pip uninstall -y
En caso de que tenga paquetes instalados a través de VCS, debe excluir esas líneas y eliminar los paquetes manualmente (elevado de los comentarios a continuación):
pip freeze | grep -v "^-e" | xargs pip uninstall -y
Esto funcionará para todos los sistemas Mac, Windows y Linux. Para obtener la lista de todos los paquetes de pip en el archivo requirements.txt (Nota: Esto sobrescribirá requirements.txt si existe, de lo contrario creará el nuevo, también si no desea reemplazar el viejo requirements.txt, entonces dé un nombre de archivo diferente en el siguiente comando en el lugar requirements.txt).
pip freeze > requirements.txt
Ahora para eliminar uno por uno
pip uninstall -r requirements.txt
Si queremos eliminar todo a la vez,
pip uninstall -r requirements.txt -y
Si está trabajando en un proyecto existente que tiene un requirements.txt
archivo y su entorno ha divergido, simplemente reemplace requirements.txt
de los ejemplos anteriores con toberemoved.txt
. Luego, una vez que haya seguido los pasos anteriores, puede usar el requirements.txt
para actualizar su entorno ahora limpio.
Y para un solo comando sin crear ningún archivo (como sugirió @joeb).
pip uninstall -y -r <(pip freeze)
Esto funciona con la última versión. Creo que es la forma más corta y declarativa de hacerlo.
virtualenv --clear MYENV
¡Pero generalmente solo elimino y recreo el virtualenv ya que las reglas de inmutabilidad!