What is the easiest way to remove all packages installed by pip?
I've found this snippet as an alternative solution. It's a more graceful removal of libraries than remaking the virtualenv:
pip freeze | xargs pip uninstall -y
In case you have packages installed via VCS, you need to exclude those lines and remove the packages manually (elevated from the comments below):
pip freeze | grep -v "^-e" | xargs pip uninstall -y
This will work for all Mac, Windows, and Linux systems.To get the list of all pip packages in the requirements.txt file (Note: This will overwrite requirements.txt if exist else will create the new one, also if you don't want to replace old requirements.txt then give different file name in the all following command in place requirements.txt).
pip freeze > requirements.txt
Now to remove one by one
pip uninstall -r requirements.txt
If we want to remove all at once then
pip uninstall -r requirements.txt -y
If you're working on an existing project that has a
requirements.txt file and your environment has diverged, simply replace
requirements.txt from the above examples with
toberemoved.txt. Then, once you have gone through the steps above, you can use the
requirements.txt to update your now clean environment.
And For single command without creating any file (As @joeb suggested).
pip uninstall -y -r <(pip freeze)
This works with the latest. I think it's the shortest and most declarative way to do it.
virtualenv --clear MYENV
But why not just delete and recreate the virtualenv?
Immutability rules. Besides it's hard to remember all those pipes and greps the other solutions use.